GstBaseVideoCodec

GstBaseVideoCodec

Synopsis

#define             GST_BASE_VIDEO_CODEC_SINK_NAME
#define             GST_BASE_VIDEO_CODEC_SRC_NAME
#define             GST_BASE_VIDEO_CODEC_SRC_PAD        (obj)
#define             GST_BASE_VIDEO_CODEC_SINK_PAD       (obj)
#define             GST_BASE_VIDEO_CODEC_FLOW_NEED_DATA
#define             GST_BASE_VIDEO_CODEC_STREAM_LOCK    (codec)
#define             GST_BASE_VIDEO_CODEC_STREAM_UNLOCK  (codec)
struct              GstVideoState;
struct              GstBaseVideoCodec;
struct              GstBaseVideoCodecClass;
GstVideoFrameState * gst_base_video_codec_new_frame     (GstBaseVideoCodec *base_video_codec);

Description

Details

GST_BASE_VIDEO_CODEC_SINK_NAME

#define GST_BASE_VIDEO_CODEC_SINK_NAME    "sink"

The name of the templates for the sink pad.


GST_BASE_VIDEO_CODEC_SRC_NAME

#define GST_BASE_VIDEO_CODEC_SRC_NAME     "src"

The name of the templates for the source pad.


GST_BASE_VIDEO_CODEC_SRC_PAD()

#define GST_BASE_VIDEO_CODEC_SRC_PAD(obj)         (((GstBaseVideoCodec *) (obj))->srcpad)

Gives the pointer to the source GstPad object of the element.

obj :

base video codec instance

GST_BASE_VIDEO_CODEC_SINK_PAD()

#define GST_BASE_VIDEO_CODEC_SINK_PAD(obj)        (((GstBaseVideoCodec *) (obj))->sinkpad)

Gives the pointer to the sink GstPad object of the element.

obj :

base video codec instance

GST_BASE_VIDEO_CODEC_FLOW_NEED_DATA

#define GST_BASE_VIDEO_CODEC_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS

GST_BASE_VIDEO_CODEC_STREAM_LOCK()

#define GST_BASE_VIDEO_CODEC_STREAM_LOCK(codec) g_rec_mutex_lock (&GST_BASE_VIDEO_CODEC (codec)->stream_lock)

GST_BASE_VIDEO_CODEC_STREAM_UNLOCK()

#define GST_BASE_VIDEO_CODEC_STREAM_UNLOCK(codec) g_rec_mutex_unlock (&GST_BASE_VIDEO_CODEC (codec)->stream_lock)

struct GstVideoState

struct GstVideoState {
  GstCaps *caps;
  GstVideoFormat format;
  int width, height;
  int fps_n, fps_d;
  int par_n, par_d;

  gboolean have_interlaced;
  gboolean interlaced;
  gboolean top_field_first;

  int clean_width, clean_height;
  int clean_offset_left, clean_offset_top;

  int bytes_per_picture;

  GstBuffer *codec_data;
};

struct GstBaseVideoCodec

struct GstBaseVideoCodec {
  GstElement element;
};

struct GstBaseVideoCodecClass

struct GstBaseVideoCodecClass {
  GstElementClass element_class;

  /* FIXME before moving to base */
  void *padding[GST_PADDING_LARGE];
};

gst_base_video_codec_new_frame ()

GstVideoFrameState * gst_base_video_codec_new_frame     (GstBaseVideoCodec *base_video_codec);