Alexander Slobodeniuk
6376849396
qtmux: fix critical warnings on negotiation error
...
This pipeline fails to negotiate on my PC:
gst-launch-1.0 v4l2src ! h264parse ! qtmux ! filesink location=t.mp4
When it happens some critical glib warnings are emitted:
-------------------------------
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_copy: assertion 'mini_object != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_structure_set_value: assertion 'structure != NULL' failed
GStreamer-CRITICAL **: 15:09:03.485: gst_mini_object_unref: assertion 'mini_object != NULL' failed
--------------------------------
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8374 >
2025-01-29 10:46:25 +00:00
Edward Hervey
5d69f2bc36
qtmux: Fix GST_STIME_ARGS usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Jan Alexander Steffens (heftig)
93699123b4
isomp4: Fix (E)AC-3 channel count handling
...
The muxer used a fixed value of 2 channels because the TR 102 366 spec
says they're to be ignored. However, the demuxer still trusted them,
resulting in bad caps.
Make the muxer fill in the correct channel count anyway (FFmpeg already
does) and make the demuxer ignore the value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4739 >
2023-06-02 19:07:58 +00:00
Sebastian Dröge
99285bb566
qtmux: Fix extraction of CEA608 data from S334-1A packets
...
The index is already incremented by 3 every iteration so multiplying it
by 3 additionally on each array access is doing it twice and does not
work.
This caused invalid files to be created if there's more than one CEA608
triplet in a buffer, and out of bounds memory reads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4634 >
2023-05-16 11:29:45 +00:00
Seungha Yang
1f0528b428
qtmux: Fix assertion on caps update
...
GstQTMuxPad.configured_caps should be protected since it's
updated from streaming thread and accessed in aggregate thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4042 >
2023-02-22 19:16:52 +00:00
Sebastian Dröge
5486ed24a5
qtmux: Implement writing of av1C
version 1 box
...
Version 0 is ancient and not specified in any documents. Take it
directly from the `codec_data` if presents or otherwise try to construct
a reasonably looking `av1C` box.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3882 >
2023-02-09 14:04:06 +00:00
Patricia Muscalu
d752bf1b46
qtmux: Fix buffer leak in fragment_buffers
...
When pushing buffers from one of the sink pads fail,
make sure that all buffers added to fragment_buffers on other pads
are freed as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3624 >
2022-12-22 14:11:10 +00:00
Sebastian Dröge
b368a5fcd2
qtmux: Add durations to raw audio buffers from the raw audio adapter in prefill mode
...
This ensures that a duration can also be calculated and stored for the
last buffer at EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
Sebastian Dröge
7b60e48c8c
qtmux: Release object lock before posting an error message
...
GST_ELEMENT_ERROR() also takes the object lock and this would then
deadlock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3321 >
2022-11-04 19:02:22 +00:00
Matthew Waters
5bed545113
qtmux: add support for writing vpcC box for VP9
...
Increases compatibility for VP9 in .mov in at least VLC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Sebastian Dröge
d2c6f21fc1
mp4mux: Disable aggregator's default negotiation
...
mp4mux can't negotiate caps with upstream/downstream and always outputs
specific caps based on the input streams. This will always happen before
it produces the first buffers.
By having the default aggregator negotiation enabled the same caps
would be pushed twice in the beginning, and again every time a
reconfigure event is received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372 >
2022-05-05 17:41:58 +00:00
Tristan Matthews
27dea62304
mp4mux: fix spelling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2241 >
2022-04-22 14:07:57 +00:00
Sebastian Dröge
8bda2ef474
qtmux: Don't post an error message if pushing a sample failed with FLUSHING
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1711 >
2022-02-15 13:43:41 +02: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
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