+2015-05-23 Carl Hetherington <cth@carlh.net>
+
+ * Fix failure to import some video MXFs (#566).
+
2015-05-17 Carl Hetherington <cth@carlh.net>
- * Fix Update DCP name on changing DCP standard (#570).
+ * Update DCP name on changing DCP standard (#570).
2015-05-14 Carl Hetherington <cth@carlh.net>
-2a595178e42734336983693e8150609554b6a08d
4bcdf16458e460dd4a78d634dfe69f2a44182541
21f33acd3580c6e5c4ec1e7449b419c3178aa8ab
Multi-stream audio stuff.
/* Find video stream */
+ int video_stream_undefined_frame_rate = -1;
+
for (uint32_t i = 0; i < _format_context->nb_streams; ++i) {
AVStream* s = _format_context->streams[i];
/* Files from iTunes sometimes have two video streams, one with the avg_frame_rate.num and .den set
to zero. Ignore these streams.
*/
- if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO && s->avg_frame_rate.num > 0 && s->avg_frame_rate.den > 0) {
- _video_stream = i;
+ if (s->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+ if (s->avg_frame_rate.num > 0 && s->avg_frame_rate.den > 0) {
+ /* This is definitely our video stream */
+ _video_stream = i;
+ } else {
+ /* This is our video stream if we don't get a better offer */
+ video_stream_undefined_frame_rate = i;
+ }
}
}
+ /* Files from iTunes sometimes have two video streams, one with the avg_frame_rate.num and .den set
+ to zero. Only use such a stream if there is no alternative.
+ */
+ if (_video_stream == -1 && video_stream_undefined_frame_rate != -1) {
+ _video_stream = video_stream_undefined_frame_rate;
+ }
+
if (_video_stream < 0) {
throw DecodeError (N_("could not find video stream"));
}