basevideoencoder: Adjusting padding is not required for -bad libraries

This commit is contained in:
Sebastian Dröge 2011-11-29 09:18:19 +01:00
parent 25002df594
commit 904eed3547
2 changed files with 6 additions and 11 deletions

View file

@ -223,7 +223,7 @@ gst_base_video_encoder_init (GstBaseVideoEncoder * base_video_encoder,
gst_pad_set_event_function (pad, gst_pad_set_event_function (pad,
GST_DEBUG_FUNCPTR (gst_base_video_encoder_src_event)); GST_DEBUG_FUNCPTR (gst_base_video_encoder_src_event));
base_video_encoder->a.at_eos = FALSE; base_video_encoder->at_eos = FALSE;
base_video_encoder->headers = NULL; base_video_encoder->headers = NULL;
/* encoder is expected to do so */ /* encoder is expected to do so */
@ -472,7 +472,7 @@ gst_base_video_encoder_sink_eventfunc (GstBaseVideoEncoder * base_video_encoder,
GstFlowReturn flow_ret; GstFlowReturn flow_ret;
GST_BASE_VIDEO_CODEC_STREAM_LOCK (base_video_encoder); GST_BASE_VIDEO_CODEC_STREAM_LOCK (base_video_encoder);
base_video_encoder->a.at_eos = TRUE; base_video_encoder->at_eos = TRUE;
if (base_video_encoder_class->finish) { if (base_video_encoder_class->finish) {
flow_ret = base_video_encoder_class->finish (base_video_encoder); flow_ret = base_video_encoder_class->finish (base_video_encoder);
@ -510,7 +510,7 @@ gst_base_video_encoder_sink_eventfunc (GstBaseVideoEncoder * base_video_encoder,
break; break;
} }
base_video_encoder->a.at_eos = FALSE; base_video_encoder->at_eos = FALSE;
gst_segment_set_newsegment_full (&GST_BASE_VIDEO_CODEC gst_segment_set_newsegment_full (&GST_BASE_VIDEO_CODEC
(base_video_encoder)->segment, update, rate, applied_rate, format, (base_video_encoder)->segment, update, rate, applied_rate, format,
@ -746,7 +746,7 @@ gst_base_video_encoder_chain (GstPad * pad, GstBuffer * buf)
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)), GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
GST_TIME_ARGS (GST_BUFFER_DURATION (buf))); GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
if (base_video_encoder->a.at_eos) { if (base_video_encoder->at_eos) {
ret = GST_FLOW_UNEXPECTED; ret = GST_FLOW_UNEXPECTED;
goto done; goto done;
} }

View file

@ -90,6 +90,7 @@ struct _GstBaseVideoEncoder
/* FIXME move to real private part ? /* FIXME move to real private part ?
* (and introduce a context ?) */ * (and introduce a context ?) */
gboolean drained; gboolean drained;
gboolean at_eos;
gint64 min_latency; gint64 min_latency;
gint64 max_latency; gint64 max_latency;
@ -101,13 +102,7 @@ struct _GstBaseVideoEncoder
gboolean force_keyframe_pending; gboolean force_keyframe_pending;
gboolean force_keyframe_headers; gboolean force_keyframe_headers;
union { void *padding[GST_PADDING_LARGE];
void *padding;
gboolean at_eos;
} a;
/* FIXME before moving to base */
void *padding[GST_PADDING_LARGE-1];
}; };
/** /**