gst_element_add_pad (GST_ELEMENT (base_video_codec),
base_video_codec->srcpad);
- base_video_codec->input_adapter = gst_adapter_new ();
- base_video_codec->output_adapter = gst_adapter_new ();
-
}
static void
{
GST_DEBUG ("reset");
- base_video_codec->system_frame_number = 0;
-
- //gst_segment_init (&base_video_codec->state.segment, GST_FORMAT_TIME);
- gst_adapter_clear (base_video_codec->input_adapter);
- gst_adapter_clear (base_video_codec->output_adapter);
-
}
static void
g_return_if_fail (GST_IS_BASE_VIDEO_CODEC (object));
base_video_codec = GST_BASE_VIDEO_CODEC (object);
- if (base_video_codec->input_adapter) {
- g_object_unref (base_video_codec->input_adapter);
- }
- if (base_video_codec->output_adapter) {
- g_object_unref (base_video_codec->output_adapter);
- }
G_OBJECT_CLASS (parent_class)->finalize (object);
}
return ret;
}
-#if 0
-guint64
-gst_base_video_codec_get_timestamp (GstBaseVideoCodec * base_video_codec,
- int picture_number)
-{
- if (picture_number < 0) {
- return base_video_codec->timestamp_offset -
- (gint64) gst_util_uint64_scale (-picture_number,
- base_video_codec->state.fps_d * GST_SECOND,
- base_video_codec->state.fps_n);
- } else {
- return base_video_codec->timestamp_offset +
- gst_util_uint64_scale (picture_number,
- base_video_codec->state.fps_d * GST_SECOND,
- base_video_codec->state.fps_n);
- }
-}
-#endif
-
GstVideoFrame *
gst_base_video_codec_new_frame (GstBaseVideoCodec * base_video_codec)
{
if (frame->sink_buffer) {
gst_buffer_unref (frame->sink_buffer);
}
-#if 0
- if (frame->src_buffer) {
- gst_buffer_unref (frame->src_buffer);
- }
-#endif
g_free (frame);
}
/*< private >*/
GstPad *sinkpad;
GstPad *srcpad;
- GstAdapter *input_adapter;
- GstAdapter *output_adapter;
-#if 0
- /* FIXME need to move from subclasses */
- GstVideoState state;
-#endif
-
- //int reorder_depth;
-
- //gboolean have_sync;
- //gboolean discont;
- //gboolean started;
-
- //GstVideoFrame *current_frame;
- //int distance_from_sync;
-
- //gboolean sink_clipping;
-
- //guint64 presentation_frame_number;
guint64 system_frame_number;
-
- //GstCaps *caps;
- //gboolean set_output_caps;
-
- //GstClockTime buffer_timestamp;
-
- GstClockTime timestamp_offset;
};
struct _GstBaseVideoCodecClass
GType gst_base_video_codec_get_type (void);
-#if 0
-guint64 gst_base_video_codec_get_timestamp (GstBaseVideoCodec *codec,
- int picture_number);
-#endif
-
GstVideoFrame * gst_base_video_codec_new_frame (GstBaseVideoCodec *base_video_codec);
void gst_base_video_codec_free_frame (GstVideoFrame *frame);
GstClockTime gst_video_state_get_timestamp (const GstVideoState *state,
GstSegment *segment, int frame_number);
-int gst_adapter_masked_scan_uint32_compat (GstAdapter *adapter,
- guint32 pattern, guint32 mask, guint offset, guint n);
GstBuffer *gst_adapter_get_buffer (GstAdapter *adapter);
G_END_DECLS