summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.18.21.18.2Tim-Philipp Müller2020-12-065-4/+502
|
* ttmlparse: Handle whitespace before XML declarationChris Bass2020-12-051-3/+8
| | | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1859>
* ttmlparse: Ensure only single TTML doc parsedChris Bass2020-12-051-1/+1
| | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1859>
* hlsdemux: Use actual object for loggingEdward Hervey2020-12-041-1/+1
| | | | | | i.e. the pad of the stream Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1858>
* curl: Remove incorrect GST_DEBUG_OBJECT() callsArun Raghavan2020-12-048-10/+0
| | | | | | | klass is not a GstObject, and these debugs print should likely not be around anyway. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1857>
* adaptivedemux: Don't calculate bitrate for header/index fragmentsEdward Hervey2020-12-041-6/+12
| | | | | | | | | | 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 66f5e874352016e29f555e3ce693b23474e476db Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1819>
* adaptivedemux: Store QoS values on the elementEdward Hervey2020-12-043-28/+48
| | | | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1819>
* tsparse: Forward incoming timestampsEdward Hervey2020-12-023-22/+52
| | | | | | | | | | | | | | 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 https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1849>
* adaptivedemux: Don't log with non-GObject objectsSebastian Dröge2020-12-021-5/+7
| | | | | | | | Instead of using the streams, log with the pad of the streams. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1457 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1847>
* Revert "v4l2codecs: decoder: Unmark previously pending request"Nicolas Dufresne2020-12-021-1/+0
| | | | | | This reverts commit a3e6d9fc24098fc27fa3fb10c4d189fa61e67500 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1848>
* player: Fix get_current_subtitle_track annotationPhilippe Normand2020-11-251-1/+1
| | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1834>
* mpegdemux: Set duration on seeking query if possibleSeungha Yang2020-11-231-3/+7
| | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1831>
* mpegtspacketizer: Handle PCR issues with adaptive streamsEdward Hervey2020-11-201-3/+15
| | | | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1787>
* mpegtsdemux: Fix off by one errorEdward Hervey2020-11-181-1/+1
| | | | | | | Turns out timestamps of zero are valid :) Fixes issues with streams where the PTS/DTS would be equal to the first PCR. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1820>
* adaptivedemux: Don't calculate bitrate for header/index fragmentsEdward Hervey2020-11-181-1/+2
| | | | | | | | | | 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 66f5e874352016e29f555e3ce693b23474e476db Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1818>
* hlsdemux: Don't double-free variant streams on errorsEdward Hervey2020-11-181-1/+4
| | | | | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1817>
* nvcodec: leave g_once_init when all quarks are initializedJulian Bouzas2020-11-091-3/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1784>
* decklink: correct framerate 2KDCI 23.98Jason Pereira2020-11-052-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1774>
* player: call ref_sink on pipelineRafostar2020-11-051-0/+2
| | | | | | | | Otherwise `gst_player_get_pipeline()` will return a floating reference which may confuse bindings and lead to crash. Fixes #1450 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1770>
* vkdeviceprovider: Avoid deadlock on physical deviceJan Schmidt2020-11-041-1/+4
| | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1759>
* wlvideoformat: fix DMA format convertorRandy Li2020-11-041-1/+1
| | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1758>
* dtls: Catch bus errors and fail instead of hanging.Jan Schmidt2020-10-311-1/+32
| | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1746>
* sctp: Do downward state change logic after chaining up.Jan Schmidt2020-10-312-5/+13
| | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1746>
* dtls: Avoid bio_buffer assertion on shutdown.Jan Schmidt2020-10-311-3/+4
| | | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1746>
* webrtc: Fix a race on shutdown.Jan Schmidt2020-10-311-3/+16
| | | | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1746>
* tests: Don't set dtlsenc state before linking.Jan Schmidt2020-10-311-1/+2
| | | | | | | 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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1745>
* decklink: Update enum value bounds check in gst_decklink_get_mode()Sebastian Dröge2020-10-301-1/+1
| | | | | | | | The widescreen modes moved after GST_DECKLINK_MODE_2160p60 and using them now would cause an assertion. This is a regression from 309f6187fef890c7ffa49305f38e89beac3b1423. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1740>
* amc: Fix crash when encoding AVCXavier Claessens2020-10-301-1/+2
| | | | | | | gstamcvideoenc.c calls gst_amc_avc_profile_to_string() with alternatives set to NULL which causes a crash. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1739>
* opencv: allow compilation against 4.5.xNicola Murino2020-10-301-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1735>
* d3d11videoprocessor: Fix wrong input/output supportability checkSeungha Yang2020-10-291-7/+12
| | | | | | | The flag argument of ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat method is output value, not input. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1736>
* tests: svthevcenc: Fix test_encode_simpleJan Alexander Steffens (heftig)2020-10-291-1/+1
| | | | | | | Pick the same I420 format the other test use. Without this, the source picks AYUV64, which fails. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1734>
* mpegtsmux: Restore intervals when creating TsMuxJan Alexander Steffens (heftig)2020-10-291-0/+3
| | | | | | | Otherwise the settings from the properties would be overwritten with the defaults. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1733>
* Back to developmentTim-Philipp Müller2020-10-271-1/+1
|
* Release 1.18.11.18.1Tim-Philipp Müller2020-10-265-21/+766
|
* codecparsers: h264parser: guard against ref_pic_markings overflowAndrew Wesie2020-10-161-3/+7
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1704>
* v4l2codecs: vp8: Allow baseclass from skipping framesNicolas Dufresne2020-10-161-11/+7
| | | | | | | | In preparation for !1670, this will allow the base class from skipping frames that should not be displayed. Previously it would complain about unordered decoding taking place in the driver. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* v4l2codecs: decoder: Unmark previously pending requestNicolas Dufresne2020-10-161-0/+1
| | | | | | | | requests are executed in order, so while dequeuing sink buffers for previous request, also mark these request as no longer pending. This will allow reusing the request later. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* v4l2codecs: decoder: Properly remove pending requestsNicolas Dufresne2020-10-161-1/+1
| | | | | | | | Pass the pointer instead of NULL in order to find and remove properly any pending request from the queue. This coding error was leading to use after free in error and early exit cases. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* h265parse: Don't enable passthrough by defaultSeungha Yang2020-10-151-0/+6
| | | | | | | SEI messages contain various information which wouldn't be conveyed by using upstream CAPS (HDR, timecode for example). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1694>
* srtsrc: Prevent `delay` from being negativeJan Alexander Steffens (heftig)2020-10-121-4/+11
| | | | | | | | | `delay` should be a GstClockTimeDiff since SRT time is int64_t. All values are in local time so we should never see a srctime that's in the future. If we do, clamp the delay to 0 and warn about it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1690>
* srtsrc: Don't calculate a delay if the srctime is 0Jan Alexander Steffens (heftig)2020-10-121-2/+9
| | | | | | | | | | | A zero srctime is a missing srctime. Apparently this can happen when ["the connection is not between SRT peers or if Timestamp-Based Packet Delivery mode (TSBPDMODE) is not enabled"][1] so it may not apply to us, but it's best to be defensive. [1]: https://github.com/Haivision/srt/blob/v1.4.2/docs/API.md#sending-and-receiving Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1690>
* srtsrc: Defend against missing clockJan Alexander Steffens (heftig)2020-10-121-0/+5
| | | | | | | | If we don't have a clock, stop the source instead of asserting in gst_clock_get_time. This can happen when the element is removed from the pipeline while it's playing. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1690>
* rtmp2sink: don't expose stop-commands property in backported patchesTim-Philipp Müller2020-10-123-38/+11
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1628>
* rtmp2sink: add docs section with since marker on new stop-commands propertyNazar Mokrynskyi2020-10-123-0/+17
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1628>
* rtmp2: fix code style, update documentation cacheNazar Mokrynskyi2020-10-122-1/+38
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1628>
* rtmp2: Clean up (improve) GstRtmpStopCommands typeJan Alexander Steffens (heftig)2020-10-124-43/+44
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1628>
* rtmp2sink: handle EOS event and close streamNazar Mokrynskyi2020-10-123-0/+139
| | | | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1285 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1628>
* h265parse: set interlace-mode=interleaved on interlaced contentGuillaume Desmottes2020-10-121-2/+2
| | | | | | | | | | | | | | interlace-mode=alternate is a special case of interlace-mode=interleaved where the fields are split using two different buffers. We should use the latter instead of the former to no break compat with elements supporting only 'interleaved'. Decoders producing alternate, such as OMX on the Zynq, should change the interlace-mode on their output caps. Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1683>
* srt: Remove unused sa_family trackingJan Alexander Steffens (heftig)2020-10-121-14/+8
| | | | | | | Now that SRT no longer needs the family when creating the socket, this code has become useless. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1685>
* srt: Move off deprecated `srt_socket()`.Niklas Hambüchen2020-10-122-3/+3
| | | | | | | | | | See https://github.com/Haivision/srt/blob/73ee1e1a3e3adc2702a9a5057d101ef80447b38c/docs/API-functions.md#srt_socket `srt_create_socket()` was added in https://github.com/Haivision/srt/commit/4b897ba92d34f1829a1c6e419eeab17f0763a0fc and srt `v1.3.0` is the first release that has it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1685>