Sebastian Dröge
284dd5443f
qtdemux: Add support for version 1 cslg boxes
...
They use 64 bit fields instead of 32 bit.
Also parse offset as a signed integer (in both versions) and clamp it to
a positive value as negative values don't really interest us here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294 >
2021-11-12 17:51:03 +00:00
Sebastian Dröge
7f105a919a
qtdemux: Don't free cslg data that we don't own on corrupt files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294 >
2021-11-12 17:51:03 +00:00
Zhao, Gang
6cad2a7150
qtdemux: Fix can not demux Opus track made by qtmux
...
Opus stream info is read from dOps box [1]. The offset of dOps box in Opus box is different in mp4a version 1 and 0 [2]. Calculate the offset of dOps box according to mp4a version.
[1] https://opus-codec.org/docs/opus_in_isobmff.html
[2] subprojects/gst-plugins-good/gst/isomp4/atoms.c:sample_entry_mp4a_copy_data:2146
Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1329 >
2021-11-09 17:57:49 +00:00
Erlend Eriksen
0805ffdce9
qtmux: Fix deadlock in gst_qt_mux_prepare_moov_recovery
...
Regression from 5766731bd4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1288 >
2021-11-02 19:26:57 +00:00
Jan Schmidt
f6ed40c93a
qtdemux: Fix text and closed-caption handling.
...
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182
broke text and and closed caption extraction when introducing WebVTT
support, by making the output buffers not have timestamps any more.
Fix that by making the process functions copy buffer metadata
when generating new output buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1262 >
2021-10-28 21:45:33 +11:00
Sebastian Dröge
2853c085c7
qtdemux: Add pasp box to the list of known boxes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1235 >
2021-10-23 11:39:36 +00:00
Jan Schmidt
6cada5b064
qtdemux: Add support for wvtt (WebVTT) subtitles.
...
WebVTT in ISO MP4 is specified in ISO 14496-30,
and needed for DASH support. It's stored in an
mp4 specific format. To handle it compatibly,
the wvtt boxes are converted back into WebVTT text
and pushed as application/x-subtitle-vtt
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182 >
2021-10-19 08:56:58 +00:00
Jan Schmidt
41d6f47f2b
isomp4: Split buffer process functions.
...
Split the different handling for closed captions, VobSub subpicture
and timed text samples into separate simplified process functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182 >
2021-10-19 08:56:58 +00:00
Jan Schmidt
c47c6b4c2b
isomp4: Use a function pointer for buffer splitting.
...
Swap the `need_process` boolean check on qtdemux streams
for a direct function pointer to the splitting function,
so we can stop adding extra cases to the single growing
`gst_qtdemux_process_buffer()` function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182 >
2021-10-19 08:56:58 +00:00
Thibault Saunier
20f6af7e3c
qtmux: Allow more fields changes renegotiating h264
...
And consider interlace-mode=progress as equivalent to the field not
being specified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062 >
2021-10-18 10:10:24 -03:00
Thibault Saunier
5ff769d731
Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir
2021-09-24 16:13:50 -03:00