mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 19:31:12 +00:00
basevideoencoder: Don't push an upstream force-keyunit event downstream
This commit is contained in:
parent
36d2a21aa3
commit
38b3f1ac00
2 changed files with 2 additions and 19 deletions
|
@ -184,10 +184,6 @@ gst_base_video_encoder_reset (GstBaseVideoEncoder * base_video_encoder)
|
||||||
base_video_encoder->min_latency = 0;
|
base_video_encoder->min_latency = 0;
|
||||||
base_video_encoder->max_latency = 0;
|
base_video_encoder->max_latency = 0;
|
||||||
|
|
||||||
if (base_video_encoder->force_keyunit_event) {
|
|
||||||
gst_event_unref (base_video_encoder->force_keyunit_event);
|
|
||||||
base_video_encoder->force_keyunit_event = NULL;
|
|
||||||
}
|
|
||||||
gst_buffer_replace (&base_video_encoder->headers, NULL);
|
gst_buffer_replace (&base_video_encoder->headers, NULL);
|
||||||
|
|
||||||
g_list_foreach (base_video_encoder->current_frame_events,
|
g_list_foreach (base_video_encoder->current_frame_events,
|
||||||
|
@ -534,9 +530,6 @@ gst_base_video_encoder_sink_eventfunc (GstBaseVideoEncoder * base_video_encoder,
|
||||||
&base_video_encoder->force_keyframe_headers))
|
&base_video_encoder->force_keyframe_headers))
|
||||||
base_video_encoder->force_keyframe_headers = FALSE;
|
base_video_encoder->force_keyframe_headers = FALSE;
|
||||||
|
|
||||||
if (base_video_encoder->force_keyunit_event)
|
|
||||||
gst_event_unref (base_video_encoder->force_keyunit_event);
|
|
||||||
base_video_encoder->force_keyunit_event = gst_event_copy (event);
|
|
||||||
GST_DEBUG_OBJECT (base_video_encoder, "GstForceKeyUnit, all-headers %d",
|
GST_DEBUG_OBJECT (base_video_encoder, "GstForceKeyUnit, all-headers %d",
|
||||||
base_video_encoder->force_keyframe_headers);
|
base_video_encoder->force_keyframe_headers);
|
||||||
GST_OBJECT_UNLOCK (base_video_encoder);
|
GST_OBJECT_UNLOCK (base_video_encoder);
|
||||||
|
@ -909,17 +902,8 @@ gst_base_video_encoder_finish_frame (GstBaseVideoEncoder * base_video_encoder,
|
||||||
(base_video_encoder)->segment, GST_FORMAT_TIME,
|
(base_video_encoder)->segment, GST_FORMAT_TIME,
|
||||||
frame->presentation_timestamp);
|
frame->presentation_timestamp);
|
||||||
|
|
||||||
/* re-use upstream event if any so it also conveys any additional
|
ev = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM,
|
||||||
* info upstream arranged in there */
|
gst_structure_new ("GstForceKeyUnit", NULL));
|
||||||
GST_OBJECT_LOCK (base_video_encoder);
|
|
||||||
if (base_video_encoder->force_keyunit_event) {
|
|
||||||
ev = base_video_encoder->force_keyunit_event;
|
|
||||||
base_video_encoder->force_keyunit_event = NULL;
|
|
||||||
} else {
|
|
||||||
ev = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM,
|
|
||||||
gst_structure_new ("GstForceKeyUnit", NULL));
|
|
||||||
}
|
|
||||||
GST_OBJECT_UNLOCK (base_video_encoder);
|
|
||||||
|
|
||||||
gst_structure_set (ev->structure,
|
gst_structure_set (ev->structure,
|
||||||
"timestamp", G_TYPE_UINT64, frame->presentation_timestamp,
|
"timestamp", G_TYPE_UINT64, frame->presentation_timestamp,
|
||||||
|
|
|
@ -95,7 +95,6 @@ struct _GstBaseVideoEncoder
|
||||||
gint64 min_latency;
|
gint64 min_latency;
|
||||||
gint64 max_latency;
|
gint64 max_latency;
|
||||||
|
|
||||||
GstEvent *force_keyunit_event;
|
|
||||||
GList *current_frame_events;
|
GList *current_frame_events;
|
||||||
GstBuffer *headers;
|
GstBuffer *headers;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue