[FFmpeg-devel,v3,15/25] avformat/mov: basic support for identifying (and reading) timed metadata

Submitted by erkki.seppala.ext@nokia.com on Sept. 19, 2016, 1:25 p.m.

Details

Message ID 1474291548-17810-16-git-send-email-erkki.seppala.ext@nokia.com
State New
Headers show

Commit Message

erkki.seppala.ext@nokia.com Sept. 19, 2016, 1:25 p.m.
mov_codec_id is now able to set AVMEDIA_TYPE_DATA to the
st->codec->codec_type field when the input is of type
AVMEDIA_TYPE_DATA; previously it used AVMEDIA_TYPE_SUBTITLE as the
value to set in that case.

Signed-off-by: Erkki Seppälä <erkki.seppala.ext@nokia.com>
Signed-off-by: OZOPlayer <OZOPL@nokia.com>
---
 libavformat/mov.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 82450e9..4dfe1eb 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1789,12 +1789,18 @@  static int mov_codec_id(AVStream *st, uint32_t format)
             id = ff_codec_get_id(ff_codec_bmp_tags, format);
         if (id > 0)
             st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
-        else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA ||
-                    (st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE &&
-                    st->codecpar->codec_id == AV_CODEC_ID_NONE)) {
-            id = ff_codec_get_id(ff_codec_movsubtitle_tags, format);
-            if (id > 0)
-                st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
+        else {
+            if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA ||
+                (st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE &&
+                 st->codecpar->codec_id == AV_CODEC_ID_NONE)) {
+                id = ff_codec_get_id(ff_codec_movsubtitle_tags, format);
+                if (id > 0)
+                    st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
+            }
+            if (id <= 0 &&
+                st->codecpar->codec_type == AVMEDIA_TYPE_DATA) {
+                id = ff_codec_get_id(ff_codec_metadata_tags, format);
+            }
         }
     }