summaryrefslogtreecommitdiff
path: root/sys/vdpau/mpeg
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2010-08-02 18:23:11 +0200
committerCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2010-08-02 18:25:43 +0200
commit008a049b209ea64685e1a676beff5dd83b360dbd (patch)
tree2768263250807bd37d766c7198c99009aeceb027 /sys/vdpau/mpeg
parenta07cee756addded29b342e306c0d89775195169f (diff)
downloadgstreamer-plugins-bad-008a049b209ea64685e1a676beff5dd83b360dbd.tar.gz
vdpau: slightly fix GstBaseVideoDecoder timestamping
clear timestamps on flush and properly calculate the frame's end offset
Diffstat (limited to 'sys/vdpau/mpeg')
-rw-r--r--sys/vdpau/mpeg/gstvdpmpegdec.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/sys/vdpau/mpeg/gstvdpmpegdec.c b/sys/vdpau/mpeg/gstvdpmpegdec.c
index 16fb4dc2e..2f48b0cb3 100644
--- a/sys/vdpau/mpeg/gstvdpmpegdec.c
+++ b/sys/vdpau/mpeg/gstvdpmpegdec.c
@@ -432,11 +432,9 @@ gst_vdp_mpeg_dec_parse_data (GstBaseVideoDecoder * base_video_decoder,
case MPEG_PACKET_SEQUENCE:
GST_DEBUG_OBJECT (mpeg_dec, "MPEG_PACKET_SEQUENCE");
- if (mpeg_dec->prev_packet != -1) {
- ret = gst_base_video_decoder_have_frame (base_video_decoder,
+ if (mpeg_dec->prev_packet != -1)
+ ret = gst_base_video_decoder_have_frame (base_video_decoder, FALSE,
(GstVideoFrame **) & mpeg_frame);
- gst_base_video_decoder_frame_start (base_video_decoder, buf);
- }
mpeg_frame->seq = buf;
break;
@@ -445,11 +443,9 @@ gst_vdp_mpeg_dec_parse_data (GstBaseVideoDecoder * base_video_decoder,
GST_DEBUG_OBJECT (mpeg_dec, "MPEG_PACKET_PICTURE");
if (mpeg_dec->prev_packet != MPEG_PACKET_SEQUENCE &&
- mpeg_dec->prev_packet != MPEG_PACKET_GOP) {
- ret = gst_base_video_decoder_have_frame (base_video_decoder,
+ mpeg_dec->prev_packet != MPEG_PACKET_GOP)
+ ret = gst_base_video_decoder_have_frame (base_video_decoder, FALSE,
(GstVideoFrame **) & mpeg_frame);
- gst_base_video_decoder_frame_start (base_video_decoder, buf);
- }
mpeg_frame->pic = buf;
break;
@@ -457,11 +453,9 @@ gst_vdp_mpeg_dec_parse_data (GstBaseVideoDecoder * base_video_decoder,
case MPEG_PACKET_GOP:
GST_DEBUG_OBJECT (mpeg_dec, "MPEG_PACKET_GOP");
- if (mpeg_dec->prev_packet != MPEG_PACKET_SEQUENCE) {
- ret = gst_base_video_decoder_have_frame (base_video_decoder,
+ if (mpeg_dec->prev_packet != MPEG_PACKET_SEQUENCE)
+ ret = gst_base_video_decoder_have_frame (base_video_decoder, FALSE,
(GstVideoFrame **) & mpeg_frame);
- gst_base_video_decoder_frame_start (base_video_decoder, buf);
- }
mpeg_frame->gop = buf;
break;