mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
d3d11decoder: Negotiate again on the first output buffer
... unconditionally. There may be updated field in sinkpad caps after the new_sequence() call (HDR related ones for example), then we should signal the information to downstream. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1474>
This commit is contained in:
parent
43856a0735
commit
5fefc689a0
1 changed files with 7 additions and 15 deletions
|
@ -1305,21 +1305,13 @@ gst_d3d11_decoder_get_output_view_buffer (GstD3D11Decoder * decoder,
|
|||
g_return_val_if_fail (GST_IS_D3D11_DECODER (decoder), FALSE);
|
||||
|
||||
if (!decoder->internal_pool) {
|
||||
gboolean reconfigured;
|
||||
|
||||
/* Replicate gst_video_decoder_allocate_output_buffer().
|
||||
* In case of zero-copy playback, this is the last chance for querying
|
||||
* required min-buffer size by downstream and take account of
|
||||
* the min-buffer size into our internel pool size */
|
||||
GST_VIDEO_DECODER_STREAM_LOCK (videodec);
|
||||
reconfigured =
|
||||
gst_pad_check_reconfigure (GST_VIDEO_DECODER_SRC_PAD (videodec));
|
||||
GST_DEBUG_OBJECT (videodec,
|
||||
"Downstream was reconfigured, negotiating again");
|
||||
GST_VIDEO_DECODER_STREAM_UNLOCK (videodec);
|
||||
|
||||
if (reconfigured)
|
||||
gst_video_decoder_negotiate (videodec);
|
||||
/* Try negotiate again whatever the previous negotiation result was.
|
||||
* There could be updated field(s) in sinkpad caps after we negotiated with
|
||||
* downstream on new_sequence() call. For example, h264/h265 parse
|
||||
* will be able to update HDR10 related caps field after parsing
|
||||
* corresponding SEI messages which are usually placed after the essential
|
||||
* headers */
|
||||
gst_video_decoder_negotiate (videodec);
|
||||
|
||||
if (!gst_d3d11_decoder_prepare_output_view_pool (decoder)) {
|
||||
GST_ERROR_OBJECT (videodec, "Failed to setup internal pool");
|
||||
|
|
Loading…
Reference in a new issue