return FALSE;
}
- writer = new GstMpeg2EncStreamWriter (video_encoder->srcpad, &parms);
+ writer = new GstMpeg2EncStreamWriter (video_encoder, &parms);
/* encoding internals */
quantizer = new Quantizer (parms);
* 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
{
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);
#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 */
guint64 BitCount ();
private:
- GstPad *pad;
+ GstVideoEncoder *video_encoder;
};
#endif /* __GST_MPEG2ENCSTREAMWRITER_H__ */