Julien Isorce
93bc74284f
msdkdec: call finalize on the parent class
...
Otherwise GstVideoDecoder is not finalized and
resources are leaked.
Somehow GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7" did not catch it.
Valgrind output:
==31645== 22,480 (1,400 direct, 21,080 indirect) bytes in 5 blocks are definitely lost in loss record 5,042 of 5,049
==31645== at 0x4C2FB0F: malloc
==31645== by 0x51D9E88: g_malloc
==31645== by 0x51FA7B5: g_slice_alloc
==31645== by 0x51FAC68: g_slice_alloc0
==31645== by 0x58D9984: g_type_create_instance
==31645== by 0x58BA344: g_object_new_with_properties
==31645== by 0x58BADA0: g_object_new
==31645== by 0x8ECA966: gst_video_decoder_init
==31645== by 0x58D99E7: g_type_create_instance
==31645== by 0x58BA344: g_object_new_with_properties
2019-12-13 15:36:26 -08:00
Roman Shpuntov
5da2938244
avfvideosrc: element requests camera permissions even with capture-screen property is true
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1137
macOS has different dialogs for camera capture and screen capture.
No need to request screen capture permissions, the system detect
screen capture automatically and create request dialog.
2019-12-11 17:31:03 +00:00
Seungha Yang
a400126889
d3d11window: Initialize surface rect with given external window handle
...
Unlike internal window, resize event might not happen with external window.
2019-12-11 23:04:55 +09:00
Seungha Yang
a8ec409b84
d3d11device: Report alive d3d11 objects at the end
...
It would be useful for debugging d3d11 object leak.
2019-12-11 23:04:49 +09:00
Seungha Yang
59295b4271
d3d11: Fix ID3D11SamplerState leak
2019-12-11 12:57:46 +00:00
Stéphane Cerveau
6bc0e9527e
remove various useless linefeed in logs
2019-12-11 10:51:29 +01:00
Haihao Xiang
b18be3562c
msdk: ignore MFX_ERR_UNDEFINED_BEHAVIOR when loading a plugin
...
An issue can be seen when using msdkh265enc with bitrate change in
playing state. The root cause is the corresponding plugin is loaded
again.
Returning MFX_ERR_UNDEFINED_BEHAVIOR from MSDK just means the plugin has
been loaded, so we may ignore this error when doing configuation again
in the sub class, otherwise the pipeline will be interrupted
2019-12-10 17:23:53 +00:00
Seungha Yang
d963d442c5
d3d11videosink: Fix broken fallback rendering
...
Make fallback rendering work
2019-12-10 04:06:28 +00:00
Seungha Yang
abc1443cf0
d3d11videosink: Add debug message for fallback reason
2019-12-10 04:06:28 +00:00
Seungha Yang
9835289239
d3d11window: Do not check shader resource view if not doing conversion
...
If d3d11window does not convert format internally, shader resource view
is not required. Note that shader resource view is used for
color conversion using shader but when conversion is not required,
we just copy input input texture to backbuffer.
2019-12-10 04:06:28 +00:00
Julien Isorce
b681d6f62e
msdkvpp: check mfx surface nullity for the input buffer
...
In theory it should not happen but it happened to me
in some cases where it failed to allocate some video
buffers so this was a consequence of a corner case.
Better to be safe than sorry.
2019-12-10 03:00:13 +00:00
Seungha Yang
8154b22a88
d3d11window: Clear old swapchain per prepare
...
_prepare() might be called multiple times for given window, so clear
old swapchain if any.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1138
2019-12-10 10:58:28 +09:00
Olivier Crête
411bde315c
srtp: Remove %z as it doesn't work on Windows
2019-12-09 15:41:13 -05:00
Alicia Boya García
f816903e65
gsttestsrcbin: Avoid not-linked errors when switching tracks
...
The previous implementation had a very high reproducibility race where
if after a track switch, the ex-active track pad completed a buffer
chain (now returning not-linked) the flow combiner had all their pads in
non-linked state, propagating it as an error and stopping the pipeline.
By resetting the flow combiner in response to RECONFIGURE events that
race is made impossible.
2019-12-09 18:12:29 +01:00
Julien Isorce
3bae199863
msdkdec: fix assertion 'frame->ref_count > 0' failed
...
Can happen if the oldest frame is the current frame
and if gst_video_decoder_finish_frame failed in which
case the current is unref and then drop instead of
just drop.
This patch also removes some assumptions, it was strange
to call unref and finish_frame in gst_msdkdec_finish_task.
In principle when owning a frame, the code should either
unref, or drop or finish.
2019-12-09 16:10:51 +00:00
Seungha Yang
5bf10d8781
d3d11window: Always set dxgi colorspace if possible
...
Not only for the 10 bits RGB case with HDR metadata, set proper color space
to swapchain in order to make color representaion correct
2019-12-09 12:22:15 +00:00
Matthew Waters
526afac736
vtdec: add support for outputing vulkan images
2019-12-09 01:49:31 +00:00
Matthew Waters
52ff97d085
vulkan/image: expose initialization function for subclasses
2019-12-09 01:49:30 +00:00
Matthew Waters
1c6f3e4b84
vulkan/macos: link directly to MoltenVK
...
It's currently the only sane way we can use MoltenVK functions to
integrate with Metal API.
It also removes the need to specify the VK_ICD_FILENAMES environment
variable pointing to MoltenVK_icd.json.
2019-12-09 01:49:30 +00:00
Matthew Waters
acac78c1ce
applemedia: rename IOSurfaceMemory -> IOSurfaceGLMemory
2019-12-09 01:49:30 +00:00
Matthew Waters
0560946c82
videotexturecache: implement GL specifics as a subclass
2019-12-09 01:49:30 +00:00
Matthew Waters
ff5ba2f126
applemedia/videocache: make a GObject subclass
2019-12-09 01:49:30 +00:00
Matthew Waters
27f4fb060d
avfvideosrc: don't leak texture caches
...
If decide_allocation is called multiple times, then we would continually
overwrite the previous cache without freeing
2019-12-09 01:49:30 +00:00
Aaron Boxer
e9891dfe14
d3d11: translate windows error codes to human readable strings
...
This will help with debugging.
2019-12-07 16:09:03 -06:00
Xavier Claessens
da584995f6
mlaudiosink: Fix crash when stopping pipeline
...
This is a bug in LuminOS 0.97.0.
2019-12-06 15:29:29 +00:00
Xavier Claessens
380ab8123b
Add mlaudiosink element
2019-12-06 15:29:29 +00:00
Stéphane Cerveau
1711369526
openh264enc: keep the headers
...
be able to resend the headers on demand after a key-unit request
2019-12-06 08:35:00 +00:00
Sebastian Dröge
f776e2df96
decklink: Return new references to the devices from get_devices()
...
Otherwise the caller will free the devices we store internally.
2019-12-05 21:22:18 +02:00
Stéphane Cerveau
c28e7d928d
dash: move parser nodes/types to separated files
...
Rename GstMpdClient to GstMPDClient and use GObject model.
Move nodes to file from gstmpdparser.c:
- GstMPDRootNode
- GstMPDBaseURLNode
- GstMPDUTCTimingNode
- GstMPDMetricsNode
- GstMPDMetricsRangeNode
- GstMPDSNode
- GstMPDSegmentTimelineNode
- GstSegmentTemplateNode
- GstMPDSegmentURLNode
- GstMPDSegmentListNode
- GstMPDPeriodNode
- GstMPDRepresentationNode
- GstMPDsubRepresentationNode
- GstMPDAdaptationSetNode
- GstMPDContentComponentNode
- GstMPDSubsetNode
- GstMPDProgramInformationNode
Move types to gstmpdhelper from gstmpdparser.c:
- GstURLType
- GstDescriptorType
- GstSegmentBaseType
- GstMPDMultSegmentBaseType
- GstMPDRepresentationBaseType
Cleanup naming when possible.
2019-12-05 09:06:37 +00:00
Stéphane Cerveau
86b251b7d1
dash: split mpdparser, mpdclient and xmlhelper
...
provide a separate namespace for mpd helper
for xml parsing and the real mpd parsing.
2019-12-05 09:06:37 +00:00
Seungha Yang
4eac9d0ae6
d3dvideosink: Fix warning for unhandled enum in switch
...
d3dhelpers.c:135:3: warning: enumeration value 'D3DFMT_D32_LOCKABLE' not handled in switch [-Wswitch]
2019-12-05 04:31:54 +00:00
Matthew Waters
c3685bafa4
vulkanviewconvert: clear the cached uniforms on caps change
...
Caps changes can change the output/input layout which needs to be
reflected in the input uniforms to the shader.
2019-12-05 03:21:21 +00:00
Seungha Yang
199caccc41
d3d11: Initialize debug categories of non-GstElement implementation in plugin init
...
That's the way to expose debug category to --gst-debug-help
2019-12-05 02:29:18 +00:00
Seungha Yang
71befc477f
d3d11window: Invoke resize task with high priority
...
On resize event, swapchain should be configured with higher priority
than the other tasks since it's directly related to visual artifacts.
2019-12-05 02:29:18 +00:00
Seungha Yang
d2b85683de
d3d11device: Add gst_d3d11_device_thread_add_full method
...
I would be used to invoke GPU task with specified priority.
2019-12-05 02:29:18 +00:00
Seungha Yang
7cab47ddda
d3d11videosinkbin: Drop d3d11 color convert element
...
d3d11videosink can convert color space now, so the conversion element
seems to be redundant.
2019-12-05 02:29:18 +00:00
Seungha Yang
ca3ddf7848
d3d11videosink: Add color conversion support
...
Draw to back buffer texture directly. It would reduce the number of
copy at least once when color conversion is required.
2019-12-05 02:29:18 +00:00
Seungha Yang
622733ed0d
d3d11converter: Skip setup converter if input and output formats are equal
2019-12-05 02:29:18 +00:00
Seungha Yang
c9cb08fcd4
d3d11colorconvert: Split color space converter to reuse code
2019-12-05 02:29:18 +00:00
Seungha Yang
42ca123f0f
d3d11: Split shader to reuse code
2019-12-05 02:29:18 +00:00
Seungha Yang
59d9589722
d3d11videosink: Draw window with cached texture on resize
...
This would render nicer than presenting scene with broken aspect ratio,
especially in case of low framerate.
2019-12-05 02:29:18 +00:00
Seungha Yang
ddd13fc7c0
d3d11: Add support for D3D11_USAGE_DYNAMIC
...
D3D11 dynamic texture is a special memory type, which is mainly used for
frequent CPU write access to the texture. For now, this texture type
does not support gst_memory_{map,unmap}
2019-12-05 02:29:18 +00:00
Seungha Yang
5ce4748cc0
d3d11device: Add debug message for CreateTexture2D failure
2019-12-05 02:29:18 +00:00
Seungha Yang
914d2df79e
d3d11device: Fix misreading debug message
2019-12-05 02:29:18 +00:00
Seungha Yang
71ae632b25
d3d11colorconvert: Disable color conversion with software rasterizer
...
It's much slower than our CPU based color-converter in most case.
2019-12-05 02:29:18 +00:00
Seungha Yang
79e88b76da
d3d11videosink: Handle context query
...
Propagate d3d11device via context query.
2019-12-05 02:29:18 +00:00
Seungha Yang
5edf64d655
d3d11colorconvert: Avoid copy in/out texture if possible
...
When input and/or output d3d11memory has its own view, use them for
rendering to avoid texture copy
2019-12-05 02:29:18 +00:00
Seungha Yang
da3545e8c8
d3d11memory: Allocate texture with required views
...
Store required resource views with d3d11 texture when it requested.
2019-12-05 02:29:18 +00:00
Seungha Yang
4e4fb8a577
d3d11: Add d3d11videosinkbin element
...
New wrapper element to support d3d11 memory upload, color conversion, and
rendering at once.
2019-12-05 02:29:18 +00:00
Seungha Yang
79ac41ec5b
d3d11: Add color space conversion element using shader
...
Add d3d11colorconvert element for color space conversion.
Currently {RGB, YUV} to RGB conversion is supported.
2019-12-05 02:29:18 +00:00