mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-17 12:55:53 +00:00
basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
This commit is contained in:
parent
fdd049a41c
commit
9619d9c95d
1 changed files with 11 additions and 8 deletions
|
@ -809,16 +809,19 @@ gst_base_video_encoder_finish_frame (GstBaseVideoEncoder * base_video_encoder,
|
||||||
* and subsequently set. subclass is adult enough to set_caps itself ...
|
* and subsequently set. subclass is adult enough to set_caps itself ...
|
||||||
* so simply check/ensure/assert that src pad caps are set by now */
|
* so simply check/ensure/assert that src pad caps are set by now */
|
||||||
if (!base_video_encoder->set_output_caps) {
|
if (!base_video_encoder->set_output_caps) {
|
||||||
GstCaps *caps;
|
if (!GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder))) {
|
||||||
|
GstCaps *caps;
|
||||||
|
|
||||||
if (base_video_encoder_class->get_caps) {
|
if (base_video_encoder_class->get_caps) {
|
||||||
caps = base_video_encoder_class->get_caps (base_video_encoder);
|
caps = base_video_encoder_class->get_caps (base_video_encoder);
|
||||||
} else {
|
} else {
|
||||||
caps = gst_caps_new_simple ("video/unknown", NULL);
|
caps = gst_caps_new_simple ("video/unknown", NULL);
|
||||||
|
}
|
||||||
|
GST_DEBUG_OBJECT (base_video_encoder, "src caps %" GST_PTR_FORMAT, caps);
|
||||||
|
gst_pad_set_caps (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder),
|
||||||
|
caps);
|
||||||
|
gst_caps_unref (caps);
|
||||||
}
|
}
|
||||||
GST_DEBUG_OBJECT (base_video_encoder, "src caps %" GST_PTR_FORMAT, caps);
|
|
||||||
gst_pad_set_caps (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), caps);
|
|
||||||
gst_caps_unref (caps);
|
|
||||||
base_video_encoder->set_output_caps = TRUE;
|
base_video_encoder->set_output_caps = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue