diff options
author | Tim-Philipp Müller <tim@centricular.net> | 2013-06-23 16:38:49 +0100 |
---|---|---|
committer | GStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2020-08-06 17:13:03 +0000 |
commit | c9d10e22772a16f39e9226cd77a97afe88bc7681 (patch) | |
tree | c64f29eca19ed3778cc0b5a3d5aa05b85be0cfc5 | |
parent | 8a745529c78052a4a949e00f0f781b4a9c51f090 (diff) | |
download | gstreamer-plugins-bad-c9d10e22772a16f39e9226cd77a97afe88bc7681.tar.gz |
mpeg2enc: store video encoder instance directly in stream writer class
Instead of storing the pad and then only using it to get the
element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1491>
-rw-r--r-- | ext/mpeg2enc/gstmpeg2encoder.cc | 2 | ||||
-rw-r--r-- | ext/mpeg2enc/gstmpeg2encstreamwriter.cc | 8 | ||||
-rw-r--r-- | ext/mpeg2enc/gstmpeg2encstreamwriter.hh | 6 |
3 files changed, 7 insertions, 9 deletions
diff --git a/ext/mpeg2enc/gstmpeg2encoder.cc b/ext/mpeg2enc/gstmpeg2encoder.cc index 441735af8..ada07ad92 100644 --- a/ext/mpeg2enc/gstmpeg2encoder.cc +++ b/ext/mpeg2enc/gstmpeg2encoder.cc @@ -84,7 +84,7 @@ gboolean GstMpeg2Encoder::setup () return FALSE; } - writer = new GstMpeg2EncStreamWriter (video_encoder->srcpad, &parms); + writer = new GstMpeg2EncStreamWriter (video_encoder, &parms); /* encoding internals */ quantizer = new Quantizer (parms); diff --git a/ext/mpeg2enc/gstmpeg2encstreamwriter.cc b/ext/mpeg2enc/gstmpeg2encstreamwriter.cc index de8cf827c..9f48aa0ce 100644 --- a/ext/mpeg2enc/gstmpeg2encstreamwriter.cc +++ b/ext/mpeg2enc/gstmpeg2encstreamwriter.cc @@ -32,16 +32,15 @@ * Class init stuff. */ -GstMpeg2EncStreamWriter::GstMpeg2EncStreamWriter (GstPad * in_pad, +GstMpeg2EncStreamWriter::GstMpeg2EncStreamWriter (GstVideoEncoder * venc, EncoderParams * params) { - pad = in_pad; - gst_object_ref (pad); + video_encoder = GST_VIDEO_ENCODER_CAST (gst_object_ref (venc)); } GstMpeg2EncStreamWriter::~GstMpeg2EncStreamWriter () { - gst_object_unref (pad); + gst_object_unref (video_encoder); } void @@ -50,7 +49,6 @@ GstMpeg2EncStreamWriter::WriteOutBufferUpto (const guint8 * buffer, { GstVideoCodecFrame *frame; GstBuffer *buf; - GstVideoEncoder *video_encoder = GST_VIDEO_ENCODER (GST_PAD_PARENT (pad)); GstMpeg2enc *enc = GST_MPEG2ENC (video_encoder); frame = gst_video_encoder_get_oldest_frame (video_encoder); diff --git a/ext/mpeg2enc/gstmpeg2encstreamwriter.hh b/ext/mpeg2enc/gstmpeg2encstreamwriter.hh index 247059108..84152ed11 100644 --- a/ext/mpeg2enc/gstmpeg2encstreamwriter.hh +++ b/ext/mpeg2enc/gstmpeg2encstreamwriter.hh @@ -23,13 +23,13 @@ #ifndef __GST_MPEG2ENCSTREAMWRITER_H__ #define __GST_MPEG2ENCSTREAMWRITER_H__ -#include <gst/gst.h> +#include <gst/video/video.h> #include <elemstrmwriter.hh> class GstMpeg2EncStreamWriter : public ElemStrmWriter { public: - GstMpeg2EncStreamWriter (GstPad *pad, EncoderParams *params); + GstMpeg2EncStreamWriter (GstVideoEncoder *venc, EncoderParams *params); ~GstMpeg2EncStreamWriter (); /* output functions */ @@ -38,7 +38,7 @@ class GstMpeg2EncStreamWriter : public ElemStrmWriter { guint64 BitCount (); private: - GstPad *pad; + GstVideoEncoder *video_encoder; }; #endif /* __GST_MPEG2ENCSTREAMWRITER_H__ */ |