mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
vp8: propagate PTS from demux frame.
gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer or parser would already have determined the PTS from a previous stage.
This commit is contained in:
parent
1ceef7d5b9
commit
746ac17f59
1 changed files with 1 additions and 6 deletions
|
@ -57,7 +57,6 @@ struct _GstVaapiDecoderVp8Private
|
||||||
GstVaapiPicture *golden_ref_picture;
|
GstVaapiPicture *golden_ref_picture;
|
||||||
GstVaapiPicture *alt_ref_picture;
|
GstVaapiPicture *alt_ref_picture;
|
||||||
GstVaapiPicture *current_picture;
|
GstVaapiPicture *current_picture;
|
||||||
GstClockTime pts;
|
|
||||||
guint size_changed:1;
|
guint size_changed:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -143,7 +142,6 @@ gst_vaapi_decoder_vp8_create (GstVaapiDecoder * base_decoder)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
priv->profile = GST_VAAPI_PROFILE_UNKNOWN;
|
priv->profile = GST_VAAPI_PROFILE_UNKNOWN;
|
||||||
priv->pts = GST_CLOCK_TIME_NONE;
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +259,7 @@ init_picture (GstVaapiDecoderVp8 * decoder, GstVaapiPicture * picture)
|
||||||
picture->structure = GST_VAAPI_PICTURE_STRUCTURE_FRAME;
|
picture->structure = GST_VAAPI_PICTURE_STRUCTURE_FRAME;
|
||||||
picture->type = frame_hdr->key_frame ? GST_VAAPI_PICTURE_TYPE_I :
|
picture->type = frame_hdr->key_frame ? GST_VAAPI_PICTURE_TYPE_I :
|
||||||
GST_VAAPI_PICTURE_TYPE_P;
|
GST_VAAPI_PICTURE_TYPE_P;
|
||||||
picture->pts = priv->pts;
|
picture->pts = GST_VAAPI_DECODER_CODEC_FRAME(decoder)->pts;
|
||||||
|
|
||||||
if (!frame_hdr->show_frame)
|
if (!frame_hdr->show_frame)
|
||||||
GST_VAAPI_PICTURE_FLAG_SET (picture, GST_VAAPI_PICTURE_FLAG_SKIPPED);
|
GST_VAAPI_PICTURE_FLAG_SET (picture, GST_VAAPI_PICTURE_FLAG_SKIPPED);
|
||||||
|
@ -547,11 +545,8 @@ static GstVaapiDecoderStatus
|
||||||
gst_vaapi_decoder_vp8_parse (GstVaapiDecoder * base_decoder,
|
gst_vaapi_decoder_vp8_parse (GstVaapiDecoder * base_decoder,
|
||||||
GstAdapter * adapter, gboolean at_eos, GstVaapiDecoderUnit * unit)
|
GstAdapter * adapter, gboolean at_eos, GstVaapiDecoderUnit * unit)
|
||||||
{
|
{
|
||||||
GstVaapiDecoderVp8 *const decoder = GST_VAAPI_DECODER_VP8_CAST (base_decoder);
|
|
||||||
GstVaapiDecoderVp8Private *const priv = &decoder->priv;
|
|
||||||
guint flags = 0;
|
guint flags = 0;
|
||||||
|
|
||||||
priv->pts = gst_adapter_prev_pts (adapter, NULL);
|
|
||||||
unit->size = gst_adapter_available (adapter);
|
unit->size = gst_adapter_available (adapter);
|
||||||
|
|
||||||
/* The whole frame is available */
|
/* The whole frame is available */
|
||||||
|
|
Loading…
Reference in a new issue