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
@ -2541,6 +2541,7 @@ gst_video_decoder_get_max_decode_time
|
|||||||
gst_video_decoder_get_max_errors
|
gst_video_decoder_get_max_errors
|
||||||
gst_video_decoder_get_oldest_frame
|
gst_video_decoder_get_oldest_frame
|
||||||
gst_video_decoder_get_packetized
|
gst_video_decoder_get_packetized
|
||||||
|
gst_video_decoder_get_pending_frame_size
|
||||||
gst_video_decoder_get_qos_proportion
|
gst_video_decoder_get_qos_proportion
|
||||||
gst_video_decoder_have_frame
|
gst_video_decoder_have_frame
|
||||||
gst_video_decoder_get_latency
|
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_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
|
static guint64
|
||||||
gst_video_decoder_get_frame_duration (GstVideoDecoder * decoder,
|
gst_video_decoder_get_frame_duration (GstVideoDecoder * decoder,
|
||||||
GstVideoCodecFrame * frame)
|
GstVideoCodecFrame * frame)
|
||||||
|
@ -363,6 +363,7 @@ GList * gst_video_decoder_get_frames (GstVideoDecoder *decoder
|
|||||||
void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
|
void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
|
||||||
int n_bytes);
|
int n_bytes);
|
||||||
GstFlowReturn gst_video_decoder_have_frame (GstVideoDecoder *decoder);
|
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);
|
GstBuffer *gst_video_decoder_allocate_output_buffer (GstVideoDecoder * decoder);
|
||||||
|
|
||||||
|
@ -99,6 +99,7 @@ EXPORTS
|
|||||||
gst_video_decoder_get_oldest_frame
|
gst_video_decoder_get_oldest_frame
|
||||||
gst_video_decoder_get_output_state
|
gst_video_decoder_get_output_state
|
||||||
gst_video_decoder_get_packetized
|
gst_video_decoder_get_packetized
|
||||||
|
gst_video_decoder_get_pending_frame_size
|
||||||
gst_video_decoder_get_qos_proportion
|
gst_video_decoder_get_qos_proportion
|
||||||
gst_video_decoder_get_type
|
gst_video_decoder_get_type
|
||||||
gst_video_decoder_have_frame
|
gst_video_decoder_have_frame
|
||||||
|
Loading…
x
Reference in New Issue
Block a user