diff options
Diffstat (limited to 'gst-libs/gst/video/gstbasevideodecoder.h')
-rw-r--r-- | gst-libs/gst/video/gstbasevideodecoder.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/gst-libs/gst/video/gstbasevideodecoder.h b/gst-libs/gst/video/gstbasevideodecoder.h index a3b81fe44..891d02ba3 100644 --- a/gst-libs/gst/video/gstbasevideodecoder.h +++ b/gst-libs/gst/video/gstbasevideodecoder.h @@ -95,7 +95,7 @@ GstFlowReturn _gst_base_video_decoder_error (GstBaseVideoDecoder *dec, gint weig * enclosed in parentheses) * @ret: variable to receive return value * - * Utility function that audio decoder elements can use in case they encountered + * Utility function that video decoder elements can use in case they encountered * a data processing error that may be fatal for the current "data unit" but * need not prevent subsequent decoding. Such errors are counted and if there * are too many, as configured in the context's max_errors, the pipeline will @@ -104,7 +104,7 @@ GstFlowReturn _gst_base_video_decoder_error (GstBaseVideoDecoder *dec, gint weig * is logged. In either case, @ret is set to the proper value to * return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK). */ -#define GST_BASE_AUDIO_DECODER_ERROR(el, w, domain, code, text, debug, ret) \ +#define GST_BASE_VIDEO_DECODER_ERROR(el, w, domain, code, text, debug, ret) \ G_STMT_START { \ gchar *__txt = _gst_element_error_printf text; \ gchar *__dbg = _gst_element_error_printf debug; \ @@ -142,7 +142,7 @@ struct _GstBaseVideoDecoder /* ... being tracked here; * only available during parsing */ /* FIXME remove and add parameter to method */ - GstVideoFrame *current_frame; + GstVideoFrameState *current_frame; /* events that should apply to the current frame */ GList *current_frame_events; /* relative offset of input data */ @@ -182,6 +182,12 @@ struct _GstBaseVideoDecoder int reorder_depth; int distance_from_sync; + /* Raw video bufferpool */ + GstBufferPool *pool; + /* Indicates whether downstream can handle + * GST_META_API_VIDEO_CROP */ + gboolean use_cropping; + /* qos messages: frames dropped/processed */ guint dropped; guint processed; @@ -237,7 +243,7 @@ struct _GstBaseVideoDecoderClass GstFlowReturn (*finish) (GstBaseVideoDecoder *coder); - GstFlowReturn (*handle_frame) (GstBaseVideoDecoder *coder, GstVideoFrame *frame); + GstFlowReturn (*handle_frame) (GstBaseVideoDecoder *coder, GstVideoFrameState *frame); /*< private >*/ @@ -251,9 +257,9 @@ struct _GstBaseVideoDecoderClass void gst_base_video_decoder_class_set_capture_pattern (GstBaseVideoDecoderClass *klass, guint32 mask, guint32 pattern); -GstVideoFrame *gst_base_video_decoder_get_frame (GstBaseVideoDecoder *coder, +GstVideoFrameState *gst_base_video_decoder_get_frame (GstBaseVideoDecoder *coder, int frame_number); -GstVideoFrame *gst_base_video_decoder_get_oldest_frame (GstBaseVideoDecoder *coder); +GstVideoFrameState *gst_base_video_decoder_get_oldest_frame (GstBaseVideoDecoder *coder); void gst_base_video_decoder_add_to_frame (GstBaseVideoDecoder *base_video_decoder, int n_bytes); @@ -264,15 +270,16 @@ void gst_base_video_decoder_set_sync_point (GstBaseVideoDecoder *bas gboolean gst_base_video_decoder_set_src_caps (GstBaseVideoDecoder *base_video_decoder); GstBuffer *gst_base_video_decoder_alloc_src_buffer (GstBaseVideoDecoder * base_video_decoder); GstFlowReturn gst_base_video_decoder_alloc_src_frame (GstBaseVideoDecoder *base_video_decoder, - GstVideoFrame *frame); + GstVideoFrameState *frame); GstVideoState *gst_base_video_decoder_get_state (GstBaseVideoDecoder *base_video_decoder); GstClockTimeDiff gst_base_video_decoder_get_max_decode_time ( GstBaseVideoDecoder *base_video_decoder, - GstVideoFrame *frame); + GstVideoFrameState *frame); GstFlowReturn gst_base_video_decoder_finish_frame (GstBaseVideoDecoder *base_video_decoder, - GstVideoFrame *frame); + GstVideoFrameState *frame); GstFlowReturn gst_base_video_decoder_drop_frame (GstBaseVideoDecoder *dec, - GstVideoFrame *frame); + GstVideoFrameState *frame); + GType gst_base_video_decoder_get_type (void); G_END_DECLS |