mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 09:40:37 +00:00
basevideoencoder: Adjusting padding is not required for -bad libraries
This commit is contained in:
parent
25002df594
commit
904eed3547
2 changed files with 6 additions and 11 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue