mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
videodecoder: Add API to get the currently pending frame size for parsing
https://bugzilla.gnome.org/show_bug.cgi?id=719890
This commit is contained in:
parent
c2746d753e
commit
87829debe4
4 changed files with 30 additions and 0 deletions
|
@ -2541,6 +2541,7 @@ gst_video_decoder_get_max_decode_time
|
|||
gst_video_decoder_get_max_errors
|
||||
gst_video_decoder_get_oldest_frame
|
||||
gst_video_decoder_get_packetized
|
||||
gst_video_decoder_get_pending_frame_size
|
||||
gst_video_decoder_get_qos_proportion
|
||||
gst_video_decoder_have_frame
|
||||
gst_video_decoder_get_latency
|
||||
|
|
|
@ -2766,6 +2766,33 @@ gst_video_decoder_add_to_frame (GstVideoDecoder * decoder, int n_bytes)
|
|||
GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_video_decoder_get_pending_frame_size:
|
||||
* @decoder: a #GstVideoDecoder
|
||||
*
|
||||
* Returns the number of bytes previously added to the current frame
|
||||
* by calling gst_video_decoder_add_to_frame().
|
||||
*
|
||||
* Returns: The number of bytes pending for the current frame
|
||||
*
|
||||
* Since: 1.4
|
||||
*/
|
||||
gsize
|
||||
gst_video_decoder_get_pending_frame_size (GstVideoDecoder * decoder)
|
||||
{
|
||||
GstVideoDecoderPrivate *priv = decoder->priv;
|
||||
gsize ret;
|
||||
|
||||
GST_VIDEO_DECODER_STREAM_LOCK (decoder);
|
||||
ret = gst_adapter_available (priv->output_adapter);
|
||||
GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
|
||||
|
||||
GST_LOG_OBJECT (decoder, "Current pending frame has %" G_GSIZE_FORMAT "bytes",
|
||||
ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static guint64
|
||||
gst_video_decoder_get_frame_duration (GstVideoDecoder * decoder,
|
||||
GstVideoCodecFrame * frame)
|
||||
|
|
|
@ -363,6 +363,7 @@ GList * gst_video_decoder_get_frames (GstVideoDecoder *decoder
|
|||
void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
|
||||
int n_bytes);
|
||||
GstFlowReturn gst_video_decoder_have_frame (GstVideoDecoder *decoder);
|
||||
gsize gst_video_decoder_get_pending_frame_size (GstVideoDecoder *decoder);
|
||||
|
||||
GstBuffer *gst_video_decoder_allocate_output_buffer (GstVideoDecoder * decoder);
|
||||
|
||||
|
|
|
@ -99,6 +99,7 @@ EXPORTS
|
|||
gst_video_decoder_get_oldest_frame
|
||||
gst_video_decoder_get_output_state
|
||||
gst_video_decoder_get_packetized
|
||||
gst_video_decoder_get_pending_frame_size
|
||||
gst_video_decoder_get_qos_proportion
|
||||
gst_video_decoder_get_type
|
||||
gst_video_decoder_have_frame
|
||||
|
|
Loading…
Reference in a new issue