From 3f7c1febc3c58f97e03349d8bae4eb56cac3f783 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sat, 30 Mar 2013 14:08:47 +0100 Subject: [PATCH] Added support for alternative-style FLV metadata. --- lib/flv_tag.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/flv_tag.cpp b/lib/flv_tag.cpp index 39d78cf9..fc8dada5 100644 --- a/lib/flv_tag.cpp +++ b/lib/flv_tag.cpp @@ -978,8 +978,15 @@ JSON::Value FLV::Tag::toJSON(JSON::Value & metadata){ if (data[0] == 0x12){ AMF::Object meta_in = AMF::parse((unsigned char*)data + 11, len - 15); - if (meta_in.getContentP(0) && (meta_in.getContentP(0)->StrValue() == "onMetaData") && meta_in.getContentP(1)){ - AMF::Object * tmp = meta_in.getContentP(1); + AMF::Object * tmp = 0; + if (meta_in.getContentP(1) && meta_in.getContentP(0) && (meta_in.getContentP(0)->StrValue() == "onMetaData")){ + tmp = meta_in.getContentP(1); + }else{ + if (meta_in.getContentP(2) && meta_in.getContentP(1) && (meta_in.getContentP(1)->StrValue() == "onMetaData")){ + tmp = meta_in.getContentP(2); + } + } + if (tmp){ if (tmp->getContentP("videocodecid")){ switch ((unsigned int)tmp->getContentP("videocodecid")->NumValue()){ case 2: