GstVideoDecoder

GstVideoDecoder

Functions

#define GST_VIDEO_DECODER_ERROR()
#define GST_VIDEO_DECODER_SINK_PAD()
#define GST_VIDEO_DECODER_SRC_PAD()
#define GST_VIDEO_DECODER_STREAM_LOCK()
#define GST_VIDEO_DECODER_STREAM_UNLOCK()
#define GST_VIDEO_DECODER_INPUT_SEGMENT()
#define GST_VIDEO_DECODER_OUTPUT_SEGMENT()
void gst_video_decoder_add_to_frame ()
GstBuffer * gst_video_decoder_allocate_output_buffer ()
GstFlowReturn gst_video_decoder_allocate_output_frame ()
void gst_video_decoder_get_allocator ()
GstBufferPool * gst_video_decoder_get_buffer_pool ()
GstFlowReturn gst_video_decoder_drop_frame ()
GstFlowReturn gst_video_decoder_finish_frame ()
void gst_video_decoder_release_frame ()
gboolean gst_video_decoder_negotiate ()
GstVideoCodecFrame * gst_video_decoder_get_frame ()
GList * gst_video_decoder_get_frames ()
GstClockTimeDiff gst_video_decoder_get_max_decode_time ()
gint gst_video_decoder_get_max_errors ()
GstVideoCodecFrame * gst_video_decoder_get_oldest_frame ()
gboolean gst_video_decoder_get_packetized ()
gsize gst_video_decoder_get_pending_frame_size ()
gdouble gst_video_decoder_get_qos_proportion ()
GstFlowReturn gst_video_decoder_have_frame ()
void gst_video_decoder_get_latency ()
void gst_video_decoder_set_latency ()
gint gst_video_decoder_get_estimate_rate ()
GstVideoCodecState * gst_video_decoder_get_output_state ()
void gst_video_decoder_set_estimate_rate ()
GstVideoCodecState * gst_video_decoder_set_output_state ()
void gst_video_decoder_set_max_errors ()
void gst_video_decoder_set_packetized ()
gboolean gst_video_decoder_get_needs_format ()
void gst_video_decoder_set_needs_format ()
void gst_video_decoder_merge_tags ()
GstCaps * gst_video_decoder_proxy_getcaps ()

Types and Values

Description

Functions

GST_VIDEO_DECODER_ERROR()

#define             GST_VIDEO_DECODER_ERROR(el, w, domain, code, text, debug, ret)

GST_VIDEO_DECODER_SINK_PAD()

#define GST_VIDEO_DECODER_SINK_PAD(obj)        (((GstVideoDecoder *) (obj))->sinkpad)

GST_VIDEO_DECODER_SRC_PAD()

#define GST_VIDEO_DECODER_SRC_PAD(obj)         (((GstVideoDecoder *) (obj))->srcpad)

GST_VIDEO_DECODER_STREAM_LOCK()

#define GST_VIDEO_DECODER_STREAM_LOCK(decoder) g_rec_mutex_lock (&GST_VIDEO_DECODER (decoder)->stream_lock)

GST_VIDEO_DECODER_STREAM_UNLOCK()

#define GST_VIDEO_DECODER_STREAM_UNLOCK(decoder) g_rec_mutex_unlock (&GST_VIDEO_DECODER (decoder)->stream_lock)

GST_VIDEO_DECODER_INPUT_SEGMENT()

#define GST_VIDEO_DECODER_INPUT_SEGMENT(obj)     (GST_VIDEO_DECODER_CAST (obj)->input_segment)

GST_VIDEO_DECODER_OUTPUT_SEGMENT()

#define GST_VIDEO_DECODER_OUTPUT_SEGMENT(obj)     (GST_VIDEO_DECODER_CAST (obj)->output_segment)

gst_video_decoder_add_to_frame ()

void
gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
                                int n_bytes);

gst_video_decoder_allocate_output_buffer ()

GstBuffer *
gst_video_decoder_allocate_output_buffer
                               (GstVideoDecoder *decoder);

gst_video_decoder_allocate_output_frame ()

GstFlowReturn
gst_video_decoder_allocate_output_frame
                               (GstVideoDecoder *decoder,
                                GstVideoCodecFrame *frame);

gst_video_decoder_get_allocator ()

void
gst_video_decoder_get_allocator (GstVideoDecoder *decoder,
                                 GstAllocator **allocator,
                                 GstAllocationParams *params);

gst_video_decoder_get_buffer_pool ()

GstBufferPool *
gst_video_decoder_get_buffer_pool (GstVideoDecoder *decoder);

gst_video_decoder_drop_frame ()

GstFlowReturn
gst_video_decoder_drop_frame (GstVideoDecoder *dec,
                              GstVideoCodecFrame *frame);

gst_video_decoder_finish_frame ()

GstFlowReturn
gst_video_decoder_finish_frame (GstVideoDecoder *decoder,
                                GstVideoCodecFrame *frame);

gst_video_decoder_release_frame ()

void
gst_video_decoder_release_frame (GstVideoDecoder *dec,
                                 GstVideoCodecFrame *frame);

gst_video_decoder_negotiate ()

gboolean
gst_video_decoder_negotiate (GstVideoDecoder *decoder);

gst_video_decoder_get_frame ()

GstVideoCodecFrame *
gst_video_decoder_get_frame (GstVideoDecoder *decoder,
                             int frame_number);

gst_video_decoder_get_frames ()

GList *
gst_video_decoder_get_frames (GstVideoDecoder *decoder);

gst_video_decoder_get_max_decode_time ()

GstClockTimeDiff
gst_video_decoder_get_max_decode_time (GstVideoDecoder *decoder,
                                       GstVideoCodecFrame *frame);

gst_video_decoder_get_max_errors ()

gint
gst_video_decoder_get_max_errors (GstVideoDecoder *dec);

gst_video_decoder_get_oldest_frame ()

GstVideoCodecFrame *
gst_video_decoder_get_oldest_frame (GstVideoDecoder *decoder);

gst_video_decoder_get_packetized ()

gboolean
gst_video_decoder_get_packetized (GstVideoDecoder *decoder);

gst_video_decoder_get_pending_frame_size ()

gsize
gst_video_decoder_get_pending_frame_size
                               (GstVideoDecoder *decoder);

gst_video_decoder_get_qos_proportion ()

gdouble
gst_video_decoder_get_qos_proportion (GstVideoDecoder *decoder);

gst_video_decoder_have_frame ()

GstFlowReturn
gst_video_decoder_have_frame (GstVideoDecoder *decoder);

gst_video_decoder_get_latency ()

void
gst_video_decoder_get_latency (GstVideoDecoder *decoder,
                               GstClockTime *min_latency,
                               GstClockTime *max_latency);

gst_video_decoder_set_latency ()

void
gst_video_decoder_set_latency (GstVideoDecoder *decoder,
                               GstClockTime min_latency,
                               GstClockTime max_latency);

gst_video_decoder_get_estimate_rate ()

gint
gst_video_decoder_get_estimate_rate (GstVideoDecoder *dec);

gst_video_decoder_get_output_state ()

GstVideoCodecState *
gst_video_decoder_get_output_state (GstVideoDecoder *decoder);

gst_video_decoder_set_estimate_rate ()

void
gst_video_decoder_set_estimate_rate (GstVideoDecoder *dec,
                                     gboolean enabled);

gst_video_decoder_set_output_state ()

GstVideoCodecState *
gst_video_decoder_set_output_state (GstVideoDecoder *decoder,
                                    GstVideoFormat fmt,
                                    guint width,
                                    guint height,
                                    GstVideoCodecState *reference);

gst_video_decoder_set_max_errors ()

void
gst_video_decoder_set_max_errors (GstVideoDecoder *dec,
                                  gint num);

gst_video_decoder_set_packetized ()

void
gst_video_decoder_set_packetized (GstVideoDecoder *decoder,
                                  gboolean packetized);

gst_video_decoder_get_needs_format ()

gboolean
gst_video_decoder_get_needs_format (GstVideoDecoder *dec);

gst_video_decoder_set_needs_format ()

void
gst_video_decoder_set_needs_format (GstVideoDecoder *dec,
                                    gboolean enabled);

gst_video_decoder_merge_tags ()

void
gst_video_decoder_merge_tags (GstVideoDecoder *decoder,
                              const GstTagList *tags,
                              GstTagMergeMode mode);

gst_video_decoder_proxy_getcaps ()

GstCaps *
gst_video_decoder_proxy_getcaps (GstVideoDecoder *decoder,
                                 GstCaps *caps,
                                 GstCaps *filter);

Types and Values

GST_VIDEO_DECODER_FLOW_NEED_DATA

#define GST_VIDEO_DECODER_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS

GST_VIDEO_DECODER_MAX_ERRORS

#define GST_VIDEO_DECODER_MAX_ERRORS     10

GST_VIDEO_DECODER_SINK_NAME

#define GST_VIDEO_DECODER_SINK_NAME    "sink"

GST_VIDEO_DECODER_SRC_NAME

#define GST_VIDEO_DECODER_SRC_NAME     "src"

struct GstVideoDecoder

struct GstVideoDecoder {
};

struct GstVideoDecoderClass

struct GstVideoDecoderClass {
  gboolean      (*open)           (GstVideoDecoder *decoder);

  gboolean      (*close)          (GstVideoDecoder *decoder);

  gboolean      (*start)          (GstVideoDecoder *decoder);

  gboolean      (*stop)           (GstVideoDecoder *decoder);

  GstFlowReturn (*parse)          (GstVideoDecoder *decoder,
				   GstVideoCodecFrame *frame,
				   GstAdapter *adapter,
				   gboolean at_eos);

  gboolean      (*set_format)     (GstVideoDecoder *decoder,
				   GstVideoCodecState * state);

  gboolean      (*reset)          (GstVideoDecoder *decoder,
				   gboolean hard);

  GstFlowReturn (*finish)         (GstVideoDecoder *decoder);

  GstFlowReturn (*handle_frame)   (GstVideoDecoder *decoder,
				   GstVideoCodecFrame *frame);

  gboolean      (*sink_event)     (GstVideoDecoder *decoder,
				   GstEvent *event);

  gboolean      (*src_event)      (GstVideoDecoder *decoder,
				   GstEvent *event);

  gboolean      (*negotiate)      (GstVideoDecoder *decoder);

  gboolean      (*decide_allocation)  (GstVideoDecoder *decoder, GstQuery *query);

  gboolean      (*propose_allocation) (GstVideoDecoder *decoder, GstQuery * query);

  gboolean      (*flush)              (GstVideoDecoder *decoder);

  gboolean      (*sink_query)     (GstVideoDecoder *decoder,
				   GstQuery *query);

  gboolean      (*src_query)      (GstVideoDecoder *decoder,
				   GstQuery *query);

  GstCaps*      (*getcaps)        (GstVideoDecoder *decoder,
                                   GstCaps *filter);

  GstFlowReturn (*drain)          (GstVideoDecoder *decoder);

  gboolean      (*transform_meta) (GstVideoDecoder *decoder,
                                   GstVideoCodecFrame *frame,
                                   GstMeta * meta);
};