summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2013-06-23 16:38:49 +0100
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-08-06 17:13:03 +0000
commitc9d10e22772a16f39e9226cd77a97afe88bc7681 (patch)
treec64f29eca19ed3778cc0b5a3d5aa05b85be0cfc5
parent8a745529c78052a4a949e00f0f781b4a9c51f090 (diff)
downloadgstreamer-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.cc2
-rw-r--r--ext/mpeg2enc/gstmpeg2encstreamwriter.cc8
-rw-r--r--ext/mpeg2enc/gstmpeg2encstreamwriter.hh6
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__ */