GstVaapiDisplay * const display = GST_VAAPI_DECODER_DISPLAY(ffdecoder);
GstVaapiSurface *surface;
int bytes_read, got_picture = 0;
+ AVPacket pkt;
+
+ av_init_packet(&pkt);
+ pkt.data = buf;
+ pkt.size = buf_size;
GST_VAAPI_DISPLAY_LOCK(display);
- bytes_read = avcodec_decode_video(
+ bytes_read = avcodec_decode_video2(
priv->avctx,
priv->frame,
&got_picture,
- buf, buf_size
+ &pkt
);
GST_VAAPI_DISPLAY_UNLOCK(display);
if (!got_picture)
if (priv->pctx) {
do {
- int parsed_size = av_parser_parse(
+ int parsed_size;
+ parsed_size = av_parser_parse2(
priv->pctx,
priv->avctx,
&outbuf, &outbuf_size,
GST_BUFFER_DATA(buffer) + inbuf_ofs, inbuf_size,
- inbuf_ts, inbuf_ts
+ inbuf_ts, inbuf_ts,
+ AV_NOPTS_VALUE
);
got_frame = outbuf && outbuf_size > 0;