/* raw FLV file metadata dump callback */ static int raw_on_metadata_tag_only(flv_tag * tag, amf_data * name, amf_data * data, flv_parser * parser) { flvmeta_opts * options = (flvmeta_opts*) parser->user_data; if (options->metadata_event == NULL) { if (!strcmp((char*)amf_string_get_bytes(name), "onMetaData")) { dump_raw_amf_data(data); return FLVMETA_DUMP_STOP_OK; } } else { if (!strcmp((char*)amf_string_get_bytes(name), options->metadata_event)) { dump_raw_amf_data(data); } } return OK; }
/* dump AMF data directly */ int dump_amf_data(const amf_data * data, const flvmeta_opts * options) { switch (options->dump_format) { case FLVMETA_FORMAT_JSON: return dump_json_amf_data(data); case FLVMETA_FORMAT_RAW: return dump_raw_amf_data(data); case FLVMETA_FORMAT_XML: return dump_xml_amf_data(data); case FLVMETA_FORMAT_YAML: return dump_yaml_amf_data(data); default: return OK; } }