- Jan 13, 2021
-
-
Tim-Philipp Müller authored
-
Fixes gstreamer/gst-plugins-bad#1487 Part-of: <gstreamer/gst-plugins-bad!1954>
-
Part-of: <gstreamer/gst-plugins-bad!1891>
-
- Dec 31, 2020
-
-
availability-start-time and publish-time shared the same GstDateTime object, this object will be unref twice and cause reference count issue. Should use g_value_dup_boxed() to copy this object. Part-of: <gstreamer/gst-plugins-bad!1932>
-
- Dec 30, 2020
-
-
Otherwise we will get double free issue because mfx session is closed in finalize. See gstreamer/gst-plugins-bad!1867 (comment 739346) for the double free issue. Part-of: <gstreamer/gst-plugins-bad!1927>
-
When creating a GstMsdkContext instance, it also creates a mfxSession instance, so we may check GstMsdkContext instead of mfxSession instance to make sure MSDK is available. In addition, according to MSDK doc [1], MFXVideoCORE_SetHandle function should be executed before any actual usage of library including queries, otherwise the behavior is unexpected, so we should call MFXVideoCORE_QueryPlatform after MFXVideoCORE_SetHandle on Linux [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#working-with-va-api-applications Part-of: <gstreamer/gst-plugins-bad!1921>
-
- Dec 29, 2020
-
-
Even if HLSL compiler was able to compile our shader code, D3DCompile() might return ID3DBlob object for compile warnings and the object should be released. Part-of: <gstreamer/gst-plugins-bad!1922>
-
When flushing right at the beginning of the video chain function or when failing negotiation at the top of the function, the assrender mutex would be unlocked without being previously locked. Part-of: <gstreamer/gst-plugins-bad!1923>
-
- Dec 23, 2020
-
-
... instead of READY state. READY state is too early for setting overlay window handle especially playbin/playsink scenario since playsink will set given overlay handle on videosink once READY state change of videosink is ensured. Part-of: <gstreamer/gst-plugins-bad!1905>
-
- Dec 14, 2020
-
-
In 1.0 the field in caps is called "interlace-mode", not "interlaced". Fixes #1480 Part-of: <gstreamer/gst-plugins-bad!1878>
-
- Dec 09, 2020
-
-
This function takes the sock lock. This can result in a deadlock when another thread holding the sock lock is trying to take the object lock. Thread A (Holds object lock, wants sock lock): #2 gst_srt_object_get_stats at gst-plugins-bad/ext/srt/gstsrtobject.c:1753 #3 gst_srt_object_get_property_helper at gst-plugins-bad/ext/srt/gstsrtobject.c:409 #4 gst_srt_sink_get_property at gst-plugins-bad/ext/srt/gstsrtsink.c:95 #5 g_object_get_property from libgobject-2.0.so.0 Thread B (Holds sock lock, wants object lock): #2 gst_element_post_message_default at gstreamer/gst/gstelement.c:2069 #3 gst_element_post_message at gstreamer/gst/gstelement.c:2123 #4 gst_element_message_full_with_details at gstreamer/gst/gstelement.c:2259 #5 gst_element_message_full at gstreamer/gst/gstelement.c:2298 #6 gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1407 #7 gst_srt_object_send_headers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444 #8 gst_srt_object_write_to_callers at gst-plugins-bad/ext/srt/gstsrtobject.c:1444 #9 gst_srt_object_write at gst-plugins-bad/ext/srt/gstsrtobject.c:1598 #10 gst_srt_sink_render at gst-plugins-bad/ext/srt/gstsrtsink.c:179 Fixes d2d00e07. Part-of: <gstreamer/gst-plugins-bad!1863>
-
Otherwise, when rtpm2src cancels an inflight operation that has a queued message stored, then the rtmp connection operation is not stopped. If the cancellation occurs during rtmp connection start up, then rtpm2src does not have any way of accessing the connection object as it has not been returned yet. As a result, rtpm2src will cancel, the connection will still be processing things and the GMainContext/GMainLoop associated with the outstanding operation will be destroyed. All outstanding operations and the rtmpconnection object will therefore be leaked in this case. Fixes: gstreamer/gst-plugins-bad#1425 Part-of: <gstreamer/gst-plugins-bad!1865>
-
- Dec 06, 2020
-
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
-
- Dec 05, 2020
-
-
When ttmlparse is in, e.g., an MPEG-DASH pipeline, there may be whitespace between successive TTML documents in ttmlparse's accumulated input. As libxml2 will fail to parse documents that have whitespace before the opening XML declaration, ensure that any preceding whitespace is not passed to libxml2. Part-of: <gstreamer/gst-plugins-bad!1859>
-
The parser handles only one TTML file at a time, therefore if there are multiple TTML documets in the input, parse only the first. Part-of: <gstreamer/gst-plugins-bad!1859>
-
- Dec 04, 2020
-
-
i.e. the pad of the stream Part-of: <!1858>
-
klass is not a GstObject, and these debugs print should likely not be around anyway. Part-of: <gstreamer/gst-plugins-bad!1857>
-
They are generally substantially smaller than regular fragments, and therefore we end up pushing totally wrong bitrates downstream. Fixes erratic buffering issues with DASH introduced by 66f5e874 Part-of: <gstreamer/gst-plugins-bad!1819>
-
Storing it per-stream requires taking the manifest lock which can apparenly be hold for aeons. And since the QoS event comes from the video rendering thread we *really* do not want to do that. Storing it as-is in the element is fine, the important part is knowing the earliest time downstream. Part-of: <gstreamer/gst-plugins-bad!1819>
-
- Dec 02, 2020
-
-
Ensure we properly forward the upstream PTS/DTS on the regular and program source pads. All packets being processed will carry over the latest PTS/DTS (as a reconstructed GstBuffer). Fixes gstreamer/gst-plugins-bad#1419 And properly forward PTS/DTS for program pads (which wasn't the case before) Original patch by Vivia Nikolaidou <vivia@ahiru.eu> Part-of: <gstreamer/gst-plugins-bad!1849>
-
Instead of using the streams, log with the pad of the streams. gstreamer/gst-plugins-bad#1457 Part-of: <gstreamer/gst-plugins-bad!1847>
-
Nicolas Dufresne authored
This reverts commit a3e6d9fc Part-of: <gstreamer/gst-plugins-bad!1848>
-
- Nov 25, 2020
-
-
As the info returned is a new object, the annotation should be transfer-full, similarly to the get_current_{audio,video}_track() implementations. Part-of: <gstreamer/gst-plugins-bad!1834>
-
- Nov 23, 2020
-
-
Set duration on seeking query in the same way as duration query handler. Otherwise application might get confused as if the duration is unknown. Part-of: <gstreamer/gst-plugins-bad!1831>
-
- Nov 20, 2020
-
-
A lot of content producers out there targetting "adaptive streaming" are riddled with non-compliant PCR streams (essentially all the players out there just use PTS/DTS and don't care about the PCR). In order to gracefully cope with these, we detect them appropriately and any small (< 15s) PCR resets get gracefully ignored. Part-of: <gstreamer/gst-plugins-bad!1787>
-
- Nov 18, 2020
-
-
Turns out timestamps of zero are valid :) Fixes issues with streams where the PTS/DTS would be equal to the first PCR. Part-of: <gstreamer/gst-plugins-bad!1820>
-
They are generally substantially smaller than regular fragments, and therefore we end up pushing totally wrong bitrates downstream. Fixes erratic buffering issues with DASH introduced by 66f5e874 Part-of: <gstreamer/gst-plugins-bad!1818>
-
If an error happened switching to a new variant, we switch back to the previous one ... except it will be unreffed when settin git. In order to avoid such issues, keep a reference to the old variant until we're sure we don't need it anymore Fixes cases of double-free on variants and its contents Part-of: <gstreamer/gst-plugins-bad!1817>
-
- Nov 09, 2020
-
-
Part-of: <gstreamer/gst-plugins-bad!1784>
-
- Nov 05, 2020
-
-
Part-of: <gstreamer/gst-plugins-bad!1774>
-
Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash. Fixes #1450 Part-of: <gstreamer/gst-plugins-bad!1770>
-
- Nov 04, 2020
-
-
Don't hold the object lock on the vk physical device while constructing a GstVulkanDevice around it, as GstVulkanDevice can make calls on the physical device that require the object lock. Part-of: <gstreamer/gst-plugins-bad!1759>
-
In the most of case, this typo would work. But for ARGB8888 and XRGB8888, which shm format is not based on fourcc, which would never appear in format enumeration. Part-of: <!1758>
-
- Oct 31, 2020
-
-
If the DTLS elements fail, they post a bus error and don't signal any key negotiation. Catch the bus error and fail the test early instead of letting it hang and time out. Part-of: <gstreamer/gst-plugins-bad!1746>
-
Call the parent state_change function first when changing state downward, to make sure that the element has stopped before cleaning it up. Part-of: <gstreamer/gst-plugins-bad!1746>
-
On shutdown, a previous iteration of dtsl_connection_process() might be incomplete and leave a partial bio_buffer behind. If the DTLS connection is already marked closed, drop out of dtls_connection_process early without asserting. Part-of: <!1746>
-
The main context can disappear in gst_webrtc_bin_enqueue_task() between checking the is_closed flag and enqueueing a source on the main context. Protect the main context with the object lock instead of the PC lock, and hold a ref briefly to make sure it stays alive. Part-of: <gstreamer/gst-plugins-bad!1746>
-
Link the dtlsenc in the testsuite before setting it to paused, as it starts a pad task that can generate a not-linked error otherwise. Part-of: <gstreamer/gst-plugins-bad!1745>
-
- Oct 30, 2020
-
-
The widescreen modes moved after GST_DECKLINK_MODE_2160p60 and using them now would cause an assertion. This is a regression from 309f6187. Part-of: <gstreamer/gst-plugins-bad!1740>
-