AgeCommit message (Collapse)AuthorFilesLines
5 hoursdecklinkvideosrc: Fix crash when mode is not specifiedHEADmasterSeungha Yang1-2/+4
In that case, we will get "VideoInputFrameArrived" callback without "VideoInputFormatChanged" Part-of: <>
12 hoursh265parse: don't invalidate the last PPS when parsing a new SPSNirbheek Chauhan1-1/+1
This is a port of to h265parse. When a SPS is received then any previous PPS remains valid. So don't clear the PPS flag from the parser state. This is important because there are encoders that don't generated a PPS after every SPS. Part-of: <>
15 hoursUse gst_element_request_pad_simple...François Laignel22-40/+43
Instead of the deprecated gst_element_get_request_pad. Part-of: <>
27 hoursmxf: check EOS cond with any segment's flagStéphane Cerveau1-2/+1
The previous test was preventing the pad to be in EOS when the segment position was greater than segment stop. It ended up consuming all the data before getting in EOS. Regarding GST_SEEK_FLAG_SEGMENT it seems to be correctly handled later in the method. Part-of: <>
27 hoursmxfdemux: fix keyframe detection in indexStéphane Cerveau1-2/+7
An index entry should be considered as a keyframe if the flags allow a random access only. Part-of: <>
31 hoursFix build with OpenEXR 3Antonio Rojas1-0/+1
Add a header that is no longer transitively included Part-of: <>
5 dayscodecs: gstvp9statefulparser: do not carry over segmentation flagsDaniel Almeida1-0/+2
Do not carry over segmentation flags from previous frames. The spec says in 7.2.10 that the feature data carry over from previous frames if not updated, but the flags do not. Consider what would happen if a flag B is to depend on a flag A, and B carries over as set from another frame. Further consider that A is now not set in this particular frame. This leads to the invalid state in which flag B is set but flag A isn't. This might cause the bitstream to be rejected by accelerators down the line. Fix it. Part-of: <>
6 daysd3d11desktopdup: Don't ignore error DXGI_ERROR_UNSUPPORTEDSeungha Yang3-7/+56
Although Microsoft's DXGIDesktopDuplication example is considering the DXGI_ERROR_UNSUPPORTED as an expected error (See it might not be recoverable error if application is run against a discrete GPU (See Do early error out if the error happens while opening device, instead of retrying it forever. Part-of: <>
6 daysd3d11desktopdup: Support desktop switchesJakub Adam1-0/+11
Before creating output duplication interface, call SetThreadDesktop() with HDESK of the current input desktop in case a desktop switch has occurred. This allows d3d11desktopdupsrc to capture Windows User Account Control (UAC) prompts, which appear on a separate secure desktop. Otherwise IDXGIOutput1::DuplicateOutput() will return E_ACCESSDENIED and the element won't produce any frames as long as the UAC screen is active. Note that in order to access secure desktop the application still has to run at LOCAL_SYSTEM privileges. For GStreamer applications running with regular user privileges this change has no effect. Part-of: <>
6 daysdxgicapture: reinitialize duplication interface on ERROR_ACCESS_LOSTJakub Adam1-13/+63
IDXGIOutputDuplication can become invalid for example when there's desktop switch, resolution change or Windows User Account Control prompt appears on screen. When that happens, try to re-create the duplication interface for the changed output. Note that in the case of UAC prompt this operation will fail if the GStreamer process doesn't run at LOCAL_SYSTEM privileges. In such situation the source element won't create any frames as long as the output is occupied by UAC screen. In order to enable UAC access to sufficiently privileged GStreamer processes, call SetThreadDesktop() with the desktop handle that currently receives user input before creating our output duplication. Part-of: <>
6 daysmsdk: set correct parameters for BGRx frameHaihao Xiang2-0/+2
Otherwise when mapping BGRx frame onto CPU's memory, CPU will get wrong data for B, G, R components Part-of: <>
6 dayswebrtc: advertise support for transport-cc rtcp-fb by defaultMatthew Waters1-3/+2
Still requires explicit enabling by the application through the header extension on all the relevant payloaders. Part-of: <>
6 dayswebrtc/stats: provide the twcc stats when availableMatthew Waters1-5/+25
Part-of: <>
7 daysva: allocator: Disable derived for Gallium if RGB and reading.Víctor Manuel Jáquez Leal1-0/+6
Part-of: <>
7 daysva: allocator: Disable derived for i965 if YUV and writing.Víctor Manuel Jáquez Leal1-5/+19
The problem is for uploading YUV frames using derived images, is that derived images imply tiling, so frames are wrongly uploaded. Though derived for reading might work we cannot know the Intel graphics generation to validate the caching. Overall, it's safer to disable derived images for i965. Part-of: <>
8 daysva: display: Fix typo.Víctor Manuel Jáquez Leal2-3/+3
Part-of: <>
8 daysva: allocator: Hack for i965 to get linear RGB DMABufs.Víctor Manuel Jáquez Leal1-2/+20
i965 driver has a hack to provide linear dmabufs, which is required for RGB formats, since they are directly uploaded by glupload, ignoring tiled modifiers. Part-of: <>
8 daysva: postproc: Remove unused parameter.Víctor Manuel Jáquez Leal1-4/+4
Part-of: <>
8 daysva: postproc: Set usage hint generic if DMABuf.Víctor Manuel Jáquez Leal1-0/+3
iHD driver sets a tiled DRM modifier if surface's usage hint is set to VPP_WRITE. This result in a garbled rendering when using glimagesink. This patch changes the usage hint to generic if the caps feature is DMABuf. Either way only iHD driver, so far, uses the usage hint flag. Part-of: <>
8 daysva: postproc: Get info from caps in decide_allocation()Víctor Manuel Jáquez Leal1-9/+9
decide_allocation() occurs before set_caps(), where out_info is set, thus setting srcpad_info with zeros or old values. Instead of it, the caps, from the allocation query, are converted and used. Part-of: <>
8 daysavtp: crf: Remove superfluous sink_event variableTimo Wischer1-2/+0
This variable was introduced by commit 12ad2a4bcd6c ("avtp: Introduce the CRF Sync Element") but it was never used: $ git log -G "sink_event" -- ext/avtp Signed-off-by: Timo Wischer <> Part-of: <>
8 daysmsdkh265dec: Add support for error report tooHaihao Xiang1-0/+31
Part-of: <>
8 daysmsdkh264dec: report error to userHaihao Xiang5-0/+136
Sometimes user want to know what the error is when decoding a stream, This commit adds a property of report-error to msdkh264dec. When report-error is TRUE, msdkh264dec may catch bitstream error and frame corruption, then report the error to application by using GST_ELEMENT_ERROR Refer to the code in Part-of: <>
8 daysmsdkdec: allow sub class to add extra parameters for additional configurationHaihao Xiang2-0/+24
MSDK allows user add extended buffers to a bitstream for additional configuration. This commit is to support this feature in this plugin Part-of: <>
8 daysd3d11: Handle device changeSeungha Yang4-8/+310
If incoming buffer holds other d3d11 device, and user wants any device (i.e., adapter index wasn't specified explicitly) update our device with that of buffer. Part-of: <>
8 daysd3d11videosink: Delay window setup as much as possibleSeungha Yang1-6/+37
... so that videosink can handle device update with d3d11 device of the first buffer Part-of: <>
8 daysd3d11: Don't accept buffer pool which holds different deviceSeungha Yang5-21/+59
At the moment, d3d11 plugin doesn't support texture sharing between different device Part-of: <>
8 daysd3d11decoder: Run gst-indentSeungha Yang1-3/+2
Part-of: <>
8 daysonnx: add plugin to apply ONNX neural network models to videoAaron Boxer10-0/+1545
This MR provides a transform element that leverage ONNX runtime to run AI inference on a broad range of neural network toolkits, running on either CPU or GPU. ONNX supports 16 different providers at the moment, so with ONNX we immediately get support for Nvidia, AMD, Xilinx and many others. For the first release, this plugin adds a gstonnxobjectdetector element to detect objects in video frames. Meta data generated by the model is attached to the video buffer as a custom GstObjectDetectorMeta meta. Part-of: <>
9 daysdecklinkvideosrc: Fix AFD/Bar VANC size checkSebastian Dröge1-1/+1
Part-of: <>
9 daysdecklinkvideosrc: Automatically detect widescreen vs. normal NTSC/PALSebastian Dröge2-21/+52
Based on the AFD aspect ratio flag the source can detect (in mode=auto) whether this NTSC/PAL mode is actually a normal or a widescreen one and select the caps according to that. Part-of: <>
12 daysjpegparse: Don't generate timestamp for 0/1 frameratesOlivier Crête1-1/+2
Part-of: <>
12 daysd3d11decoder: Set flushing to internal pool on flush eventSeungha Yang7-37/+102
d3d11 decoders use internal pool for DPB texture and Gst*Decoder::new_picture() will be blocked if internal pool is full. We should be able to unblock in on flush-start event as expected. Part-of: <>
13 daysd3d11: Fix wrong GstD3D11BufferPool type checkSeungha Yang2-2/+2
Fix typos Part-of: <>
13 daysrtpsrc: Fix wrong/NULL URI handlingThibault Saunier1-3/+16
We can reset the URI to NULL and this fix a deadlock in that case or when the URI was invalid. Part-of: <>
13 dayswebrtcbin: downgrade "dropping ICE candidates from SDP" from warning to ↵Nazar Mokrynskyi1-1/+1
debug level Part-of: <>
13 dayswebrtcbin: Attach rtpbin even for data channelsOlivier Crête1-25/+19
This is required because the same transport may later be used for RTP. In which case the RTCP needs to flow bi-directionnally already. Part-of: <>
13 daysFix missing unref of nice-agent causing sockets to never close.Frederich Munch1-0/+1
Part-of: <>
13 dayswebrtc: Fix sctp task's return type.Doug Nazar1-1/+2
GstWebRTCBinFunc expects a GstStructure* return type. Fixes segfault on PowerPC. Part-of: <>
14 daysmfvideoenc: Fix UWP buildSeungha Yang1-0/+2
Add missing GST_MF_HAVE_D3D11 define guard Part-of: <>
14 dayswasapi2: Fix UWP buildSeungha Yang1-0/+45
2021-04-21tsdemux: fix truncated output segment when seeking with a stopMathieu Duponchelle1-2/+1
In disabling the stop adjustment for negative rates in 03031037fafd2d535bbefb1fdf6024b5d1159043 , two instructions were inverted resulting in the stop always being adjusted by 0 Part-of: <>
2021-04-21tests/netsim: Set src caps before creating buffersDoug Nazar1-1/+3
GstHarness requires the source pad caps to be set before buffer allocations. Part-of: <>
2021-04-21d3d11: Add support for BGRx and RGBx formatsSeungha Yang3-6/+18
For such formats, we can re-use existing BGRA/RGBA implementations but ignoring alpha channel Part-of: <>
2021-04-21wasapi2: Implement default audio channel maskSeungha Yang1-7/+44
Some capture devices might not provide channel mask value which will result in capturing failure because of unknown channel mask in case that device generates more than 2 channels. Although it might not be correct, we can assume channel mask with the given number of channels. Part-of: <>
2021-04-21wasapi2clinet: Simplify set capsSeungha Yang1-12/+7
Don't need to iterate all structure to set identical values Part-of: <>
2021-04-21wasapi2client: Run gst-indentSeungha Yang1-27/+52
Part-of: <>
2021-04-21webrtcbin test: Don't fail if data channel is createdOlivier Crête1-0/+2
In tests that voluntarily create a data channel. Part-of: <>
2021-04-19webrtcbin: Filter caps isn't fixedOlivier Crête1-1/+1
Fix an assertion because the filter paramter passed to gst_caps_is_equal_fixed() wasn't fixed. So use the regular gst_caps_is_equal() instead. Part-of: <>
2021-04-20d3d11: Update plugin doc cacheSeungha Yang1-326/+12
Updating for removed d3d11videosink wrapper bin and the change of Part-of: <>