... as it is already at hand as the src pad's negotiated caps.
GST_BUFFER_OFFSET_END (buf) = dirac_enc->last_granulepos;
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC(base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC(base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC(base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
GST_BUFFER_OFFSET_END (buf) = schro_enc->last_granulepos;
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
}
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
return gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
}
gst_util_uint64_scale (frame->presentation_frame_number + 1,
GST_SECOND * state->fps_d, state->fps_n);
- gst_buffer_set_caps (buf, GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
+ gst_buffer_set_caps (buf,
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
ret = gst_pad_push (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder), buf);
if (ret != GST_FLOW_OK) {
g_list_free (base_video_codec->frames);
base_video_codec->frames = NULL;
- if (base_video_codec->caps) {
- gst_caps_unref (base_video_codec->caps);
- base_video_codec->caps = NULL;
- }
-
}
static void
GstVideoState state;
GstSegment segment;
- GstCaps *caps;
-
gdouble proportion;
GstClockTime earliest_time;
g_list_remove (GST_BASE_VIDEO_CODEC (base_video_encoder)->frames, frame);
if (!base_video_encoder->set_output_caps) {
+ GstCaps *caps;
+
if (base_video_encoder_class->get_caps) {
- GST_BASE_VIDEO_CODEC (base_video_encoder)->caps =
- base_video_encoder_class->get_caps (base_video_encoder);
+ caps = base_video_encoder_class->get_caps (base_video_encoder);
} else {
- GST_BASE_VIDEO_CODEC (base_video_encoder)->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,
- GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
- gst_pad_set_caps (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder),
- GST_BASE_VIDEO_CODEC (base_video_encoder)->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;
}
gst_buffer_set_caps (GST_BUFFER (frame->src_buffer),
- GST_BASE_VIDEO_CODEC (base_video_encoder)->caps);
+ GST_PAD_CAPS (GST_BASE_VIDEO_CODEC_SRC_PAD (base_video_encoder)));
if (frame->force_keyframe) {
GstClockTime stream_time;