Vivia Nikolaidou
f29c19be58
splitmuxsink: Avoid assertion when WAITING_GOP_COLLECT on reference context
...
I have seen a backtrace out in the wild where this happened. Maybe after
receiving EOS and stream-start on the reference context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3005 >
2022-11-18 15:52:03 +00:00
Edward Hervey
845dcf7ec5
imagesequencesrc: Don't leak caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3428 >
2022-11-18 07:22:23 +00:00
Enrique Ocaña González
aafe07a802
hlsdemux2: Expose EXT-X-PROGRAM-DATE-TIME as tags.
...
This allows an application to use timestamps associated
with fragments.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1417 >
2022-11-17 22:11:12 +00:00
Matthew Waters
8e355d23a1
qtmux: use trun with multiple entries in more cases
...
The only case where we definitely need to write a new trun is when the
data_offset value does not match the end of the list of entries.
Needing multiple trun atoms is required when interleaving multiple
streams together.
All other cases can be covered by adding more entries to the existing
trun atom.
Fixes playback of fragemented mp4 in ffplay and chrome.
Using e.g. mp4mux fragment-duration=1000 fragment-mode=dash-or-mss
and
mp4mux fragment-duration=1000 fragment-mode=first-moov-then-finalise
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3426 >
2022-11-17 21:04:57 +11:00
Edward Hervey
e68baffcd9
adaptivedemux2: Notify that we are streams-aware
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784 >
2022-11-16 14:01:46 +00:00
Nirbheek Chauhan
13723198a1
rtspsrc: Fix regression when using hostname in the location property
...
When the address can't be parsed as an IP address, it should just be
treated as a hostname and used as-is.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1576
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3420 >
2022-11-16 11:30:26 +00:00
F. Duncanh
d77fe9495a
v4l2videodec: Fixes three H.264/HEVC ITU conformance tests
...
Postpone the cleanup of any consecutive sequence of lost frames
which starts at frame 0, until frame 100 is dequeued from driver.
This allows fluster tests JVT/CVWP2_TOSHIBA_E, JVC/CVWP3_TOSHIBA_E
and HEVC/POC_A_Bossen_3 that sends out-of-order frames to successfully
complete (e.g., test of Amphion vpu driver).
Fixes #1569
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3398 >
2022-11-16 10:00:03 +00:00
Sebastian Dröge
d815035e82
rtpjitterbuffer: Add test for rescheduling timers to negative times
...
This tests the changes introduced by 4d3b8d1129
for issue #571 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3416 >
2022-11-16 08:26:41 +00:00
Sebastian Dröge
3d79402344
rtpjitterbuffer: Reschedule timers when updating their offset
...
As EXPECTED timers are skipped the order of the timers relative to each
other can change if there are EXPECTED timers and rescheduling needs to
happen.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3416 >
2022-11-16 08:26:41 +00:00
Sanchayan Maity
02fd7fb777
wavparse: Do not run all typefinders for all output
...
In order to figure out if the "raw" audio contained within the wav
container is actually DTS, wavparse calls the typefinder helper
except that means it runs all typefinders.
Since it only cares about checking for DTS, we should only run the
audio/x-dts typefinder (if present). Commit 858e516
did not really
fix things.
Use the new type helper with the caps to fix this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3417 >
2022-11-16 10:32:25 +05:30
Sebastian Dröge
424e208170
rtspsrc: Consistently set seqnums on events
...
Set udpsrc seqnums on all events sent to the udpsrc's, and before
forwarding events out of rtspsrc set the latest seek seqnum on them if
any.
Also produce a consistent seqnum in rtspsrc from the very beginning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Sebastian Dröge
e6efd288c2
rtspsrc: Make segment event writable before overriding the seqnum and use the proper API to do so
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Sebastian Dröge
4099fd064b
rtspsrc: Intercept and handle events when using no manager too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Sebastian Dröge
e6a2e41c06
rtspsrc: Don't blindly copy over sticky events from manager pad to external source pad
...
This would get around the code that modifies some events when they go
through the ghost pad's proxypad. Instead go via the event function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Sebastian Dröge
a4674a1e17
rtspsrc: Don't make udpsrc segment events writable just to retrieve their seqnum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Sebastian Dröge
b181686211
rtspsrc: Reset EOS flag also on FLUSH_STOP and not only on ssrc-active
...
Also don't bother not sending EOS if EOS was sent already:
gst_pad_push_event() takes care of that for us already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409 >
2022-11-16 02:36:30 +00:00
Tim-Philipp Müller
202dc49f8b
gdkpixbufoverlay: fix docs - changing images at runtime is supported
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3415 >
2022-11-15 22:43:01 +00:00
Edward Hervey
30886fa9ea
rtpjitterbuffer: Unlock timer waits on flushing
...
If there is a pending EOS wait for example, we would never unblock on flushing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3401 >
2022-11-15 18:30:43 +00:00
Rafał Dzięgiel
e93f391139
tests: Add DASH MPD baseURL with query test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
30c2bdad61
mpdparser: Fix missing baseURL query
...
When no initializationURL or mediaURL, return baseURL that also
contains original URI query if available. This fixes a problem
where URI query was being omitted in the HTTP requests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
548bbc3147
mpdparser: Be consistent about returning duplicated URL
...
Instead of returning a "const gchar" or a "gchar" that should not be freed, always
return a duplicated string as those functions were used together with g_strdup anyway.
This is needed to prepare support for returning modified strings in next commit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
0d79dbedf3
mpdparser: Return correct mediaURL value
...
This fixes a problem where get_mediaURL was returning NULL when segmentURL
was unavailable instead of baseURL as a fallback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Víctor Manuel Jáquez Leal
64cb38685b
matroskademux: Handle element's duration query.
...
This is small regression from commit f7abd81a
.
When calling `gst_element_query()` no pad is associated with that query, but the
current code always forwards the query to the associated pad, which is NULL in
previous case. This patch checks for the pad before forwarding the query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3404 >
2022-11-14 15:10:44 +00:00
Rafał Dzięgiel
9e74c728cb
adaptivedemux2: Fix parent object leak
...
gst_object_get_parent() method is transfer-full, thus unref is needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3396 >
2022-11-13 11:35:09 +00:00
Colin Kinloch
99fc124f25
videocrop, videobox: Simplify navigation event handling and support touch events
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
d7aba91518
videoflip: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Christian Wick
2498457b2f
rtspsrc: Introduce new action signal push-backchannel-sample
with correct ownership semantics
...
Signals are not supposed to take ownership of their arguments but only
borrow them for the scope of the signal emission.
The old action signal `push-backchannel-buffer` is now marked deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3363 >
2022-11-10 13:04:04 +02:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
98d2f958a9
Update ChangeLogs for 1.21.2
2022-11-07 23:53:57 +00:00
Justin Chadwell
fd96fc23c5
qtdemux: use unsigned int types to store result of QT_UINT32
...
In a few cases throughout qtdemux, the results of QT_UINT32 were being
stored in a signed integer, which could cause subtle bugs in the case of
an integer overflow, even allowing the the result to equal a negative
number!
This patch prevents this by simply storing the results of this function
call properly in an unsigned integer type. Additionally, we fix up the
length checking with stsd parsing to prevent cases of child atoms
exceeding their parent atom sizes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3344 >
2022-11-06 12:00:31 +00:00
Tim-Philipp Müller
edc2e8312e
qt: initialize GError properly in gst_qt_get_gl_wrapcontext()
...
Spotted by Claus Stovgaard.
Fixes #1545
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3327 >
2022-11-04 20:39:16 +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
Edward Hervey
97bfb8b6cb
imagesequencesrc; Fix leaks
...
* The path was leaked
* The custom buffer was never freed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
6ffae88a9f
qtdemux: Fix cenc-related leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
aa61662632
deinterlace: Don't leak metas
...
There is no correlation between the frame being NULL and the metas not being
present.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
7f86e925e2
adaptivedemux2: Fix collection leaks
...
* The collection on the period was never unreffed
* The collection in the message handler was never unreffed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Jan Schmidt
b2f2a9125c
mssdemux2: Update for adaptivedemux2 refactoring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
565f47b4f3
adaptivedemux2: Move stream_seek() to the Stream class
...
Move the last stream specific vfunc from the demux
class to the stream class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
2fe641353d
adaptivedemux2: Refactor stream methods into the stream
...
Unlike the legacy elements, GstAdaptiveDemuxStream is a GObject now,
so a bunch of things that were actually stream methods on the
parent demux object can directly become stream methods now.
Move the stream class out to a header of its own.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 04:00:31 +11:00
Jan Schmidt
9f89b8e3ef
hlsdemux2/m3u8: Implement EXT-X-GAP parsing
...
Read the EXT-X-GAP tag and set is_gap on the segment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
55db033570
hlsdemux2/m3u8: Refactor parsing for readability
...
Small readability improvements in the parsing code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
bfeb3c5625
adaptivedemux2/downloadhelper: Remove return val for download_request_add_buffer()
...
The function can't actually fail, and the only caller
was ignoring the result anyway, so remove the return value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
0f8c38c190
adaptivedemux2/downloadhelper: Add debug output of response headers
...
Dump the HTTP response headers at TRACE level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:27 +11:00
Jan Schmidt
d1ae35f08a
adaptivedemux2/downloadhelper: Don't mark transfer as complete/error if cancelled.
...
If the state of the download request was reset to UNSENT,
it was cancelled. Don't update the state to COMPLETE or ERRORED
in on_read_ready().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
46517d5aca
adaptivedemux2/downloadhelper: Ignore spurious read failure
...
Sometimes g_input_stream_read_all_finish() can return
0 bytes, but still succeed (return TRUE) and have more
data available later. Only finish the transfer
if it returns 0 bytes *and* FALSE with no error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
1751f555f2
adaptivedemux2/downloadhelper: Fix function name
...
Fix a typo in the name of function download_request_despatch_progress()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
c9de81edd4
adaptivedemux2: Remove scheduler_lock mutex
...
Remove the old unused scheduler_lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00
Jan Schmidt
b691aece65
adaptivedemux2: Hold tracks lock accessing input_period
...
The input_period is protected by the TRACKS_LOCK,
so make sure to hold that when accessing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3314 >
2022-11-05 03:24:26 +11:00