aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-22 02:37:08 -0500
committerSteve Kondik <steve@cyngn.com>2015-12-22 02:37:08 -0500
commitbc1e061c245cfb1d8a8fdd52cfa394bf117f770a (patch)
tree05f33f51bab749a67c82c67ae34a4f83edeb903a /libavformat/mov.c
parenta4a2a44d6836e2f58d9112bdb384e4f2cfac905d (diff)
parent79f407b79a825c3123aff65cef64b383eca5a95e (diff)
downloadandroid_external_ffmpeg-bc1e061c245cfb1d8a8fdd52cfa394bf117f770a.tar.gz
android_external_ffmpeg-bc1e061c245cfb1d8a8fdd52cfa394bf117f770a.tar.bz2
android_external_ffmpeg-bc1e061c245cfb1d8a8fdd52cfa394bf117f770a.zip
Merge branch 'release/2.8' of https://github.com/FFmpeg/FFmpeg into cm-13.0
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 735e956b62..4ce4e2dddd 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -419,6 +419,12 @@ retry:
snprintf(key2, sizeof(key2), "%s-%s", key, language);
av_dict_set(&c->fc->metadata, key2, str, 0);
}
+ if (!strcmp(key, "encoder")) {
+ int major, minor, micro;
+ if (sscanf(str, "HandBrake %d.%d.%d", &major, &minor, &micro) == 3) {
+ c->handbrake_version = 1000000*major + 1000*minor + micro;
+ }
+ }
}
av_log(c->fc, AV_LOG_TRACE, "lang \"%3s\" ", language);
av_log(c->fc, AV_LOG_TRACE, "tag \"%s\" value \"%s\" atom \"%.4s\" %d %"PRId64"\n",
@@ -4528,6 +4534,13 @@ static int mov_read_header(AVFormatContext *s)
return err;
}
}
+ if (mov->handbrake_version &&
+ mov->handbrake_version <= 1000000*0 + 1000*10 + 0 && // 0.10.0
+ st->codec->codec_id == AV_CODEC_ID_MP3
+ ) {
+ av_log(s, AV_LOG_VERBOSE, "Forcing full parsing for mp3 stream\n");
+ st->need_parsing = AVSTREAM_PARSE_FULL;
+ }
}
if (mov->trex_data) {