[Bug 764637] qtdemux: Ensure stream duration by using stts box
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Apr 5 12:54:38 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=764637
--- Comment #2 from Seungha Yang <sh.yang at lge.com> ---
I found a corrupted mp4 file. The only incorrect factor is stream duration in
mdhd. Although the file muxing is incorrect, we can support it by calculating
the actual stream duration.
- NG case
57 0:00:00.084347775 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8425:qtdemux_parse_segments:<qtdemux0> created dummy segment
0:04:33.052583333
58 0:00:00.084356373 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8429:qtdemux_parse_segments:<qtdemux0> using 1 segments
59 0:00:00.084360621 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10601:qtdemux_parse_trak:<qtdemux0> n_streams is now 2
60 0:00:00.084365309 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:11842:qtdemux_parse_udta:<qtdemux0> No XMP_ node found
61 0:00:00.084390758 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10772:qtdemux_prepare_streams:<qtdemux0> prepare streams
62 0:00:00.084395791 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10779:qtdemux_prepare_streams:<qtdemux0> stream 0, id 1, fourcc avc1
63 0:00:00.084401392 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:7875:qtdemux_parse_samples:<qtdemux0> parsing up to sample 0
64 0:00:00.084406308 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8082:qtdemux_parse_samples:<qtdemux0> sample 0: index 0, timestamp
0:00:00.000000000
65 0:00:00.084411698 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8137:qtdemux_parse_samples:<qtdemux0> samples at 0 is keyframe
66 0:00:00.084415646 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10779:qtdemux_prepare_streams:<qtdemux0> stream 1, id 2, fourcc mp4a
67 0:00:00.084420335 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:7875:qtdemux_parse_samples:<qtdemux0> parsing up to sample 0
68 0:00:00.084424276 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8082:qtdemux_parse_samples:<qtdemux0> sample 0: index 0, timestamp
0:00:00.000000000
69 0:00:00.084429254 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:8125:qtdemux_parse_samples:<qtdemux0> all samples are keyframes
70 0:00:00.084432692 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10831:qtdemux_expose_streams:<qtdemux0> exposing streams
71 0:00:00.084436121 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:10839:qtdemux_expose_streams:<qtdemux0> stream 0, id 1, fourcc avc1
72 0:00:00.084462814 5006 0x7f12780f9de0 DEBUG qtdemux
qtdemux.c:7234:gst_qtdemux_configure_stream:<qtdemux0> Calculating framerate,
timescale 29970 gave fps_n 10000 fps_d 129
- With this patch
57 0:00:00.031100131 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8449:qtdemux_parse_segments:<qtdemux0> created dummy segment
0:04:33.052583333
58 0:00:00.031108243 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8453:qtdemux_parse_segments:<qtdemux0> using 1 segments
59 0:00:00.031112396 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10625:qtdemux_parse_trak:<qtdemux0> n_streams is now 2
60 0:00:00.031117170 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:11866:qtdemux_parse_udta:<qtdemux0> No XMP_ node found
61 0:00:00.031156892 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10796:qtdemux_prepare_streams:<qtdemux0> prepare streams
62 0:00:00.031161630 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10803:qtdemux_prepare_streams:<qtdemux0> stream 0, id 1, fourcc avc1
63 0:00:00.031167805 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:7899:qtdemux_parse_samples:<qtdemux0> parsing up to sample 0
64 0:00:00.031172732 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8106:qtdemux_parse_samples:<qtdemux0> sample 0: index 0, timestamp
0:00:00.000000000
65 0:00:00.031188804 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8161:qtdemux_parse_samples:<qtdemux0> samples at 0 is keyframe
66 0:00:00.031192742 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10803:qtdemux_prepare_streams:<qtdemux0> stream 1, id 2, fourcc mp4a
67 0:00:00.031197304 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:7899:qtdemux_parse_samples:<qtdemux0> parsing up to sample 0
68 0:00:00.031201216 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8106:qtdemux_parse_samples:<qtdemux0> sample 0: index 0, timestamp
0:00:00.000000000
69 0:00:00.031209135 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:8149:qtdemux_parse_samples:<qtdemux0> all samples are keyframes
70 0:00:00.031212720 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10855:qtdemux_expose_streams:<qtdemux0> exposing streams
71 0:00:00.031216188 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:10863:qtdemux_expose_streams:<qtdemux0> stream 0, id 1, fourcc avc1
72 0:00:00.031240344 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:2850:check_update_duration:<qtdemux0> Updating total duration to
0:11:42.602602602 was 0:11:42.549312500
73 0:00:00.031249534 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:2855:check_update_duration:<qtdemux0> qtdemux->segment.duration:
0:11:42.549312500 .stop: 0:11:42.549312500
74 0:00:00.031254995 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:2862:check_update_duration:<qtdemux0> Updated segment.duration and
segment.stop
75 0:00:00.031258571 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:2874:check_update_duration:<qtdemux0> Updating stream #0 duration to
0:11:42.602602602
76 0:00:00.031263416 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:2874:check_update_duration:<qtdemux0> Updating stream #1 duration to
0:11:42.602602602
77 0:00:00.031271809 3575 0x7f95a81171e0 DEBUG qtdemux
qtdemux.c:7240:gst_qtdemux_configure_stream:<qtdemux0> Calculating framerate,
timescale 29970 gave fps_n 30000 fps_d 1001
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list