ext/mpeg2dec/gstmpeg2dec.c: Add support for mpeg2dec-0.4.0 (released two weeks ago). See #130416.

Original commit message from CVS:
2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/mpeg2dec/gstmpeg2dec.c:
Add support for mpeg2dec-0.4.0 (released two weeks ago). See
#130416.
This commit is contained in:
Ronald S. Bultje 2004-01-03 22:17:16 +00:00
parent 8e017d76dd
commit ddc2c60a03
2 changed files with 36 additions and 3 deletions

View file

@ -1,3 +1,28 @@
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/mpeg2dec/gstmpeg2dec.c:
Add support for mpeg2dec-0.4.0 (released two weeks ago). See
#130416.
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
* ext/xvid/gstxvid.c: (gst_xvid_init), (gst_xvid_error),
(gst_xvid_structure_to_csp), (gst_xvid_csp_to_caps):
* ext/xvid/gstxvid.h:
* ext/xvid/gstxviddec.c: (gst_xviddec_class_init),
(gst_xviddec_init), (gst_xviddec_setup), (gst_xviddec_chain),
(gst_xviddec_src_link), (gst_xviddec_sink_link),
(gst_xviddec_change_state):
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.c: (gst_xvidenc_profile_get_type),
(gst_xvidenc_base_init), (gst_xvidenc_class_init),
(gst_xvidenc_init), (gst_xvidenc_setup), (gst_xvidenc_chain),
(gst_xvidenc_link), (gst_xvidenc_set_property),
(gst_xvidenc_get_property), (gst_xvidenc_change_state):
* ext/xvid/gstxvidenc.h:
Update xvid plugin to latest xvid (1.0.0-beta3) API.
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/rtp-packet.c:

View file

@ -436,7 +436,11 @@ gst_mpeg2dec_chain (GstPad *pad, GstData *_data)
GST_DEBUG ("have pts: %" G_GINT64_FORMAT " (%" G_GINT64_FORMAT ")",
mpeg_pts, MPEGTIME_TO_GSTTIME (mpeg_pts));
#if MPEG2_RELEASE >= MPEG2_VERSION(0,4,0)
mpeg2_tag_picture (mpeg2dec->decoder, mpeg_pts&0xffffffff, mpeg_pts>>32);
#else
mpeg2_pts (mpeg2dec->decoder, mpeg_pts);
#endif
}
else {
GST_DEBUG ("no pts");
@ -553,18 +557,22 @@ gst_mpeg2dec_chain (GstPad *pad, GstData *_data)
if (mpeg2dec->discont_state == MPEG2DEC_DISC_NEW_KEYFRAME && key_frame)
mpeg2dec->discont_state = MPEG2DEC_DISC_NONE;
#if MPEG2_RELEASE < MPEG2_VERSION(0,4,0)
if (picture->flags & PIC_FLAG_PTS) {
GstClockTime time = MPEGTIME_TO_GSTTIME (picture->pts);
#else
if (1) {
GstClockTime time = MPEGTIME_TO_GSTTIME ((guint64) picture->tag2 << 32 | picture->tag);
#endif
GST_DEBUG ("picture had pts %" G_GINT64_FORMAT, time);
GST_BUFFER_TIMESTAMP (outbuf) = time;
mpeg2dec->next_time = time;
GST_BUFFER_TIMESTAMP (outbuf) = mpeg2dec->next_time = time;
}
else {
GST_DEBUG ("picture didn't have pts using %" G_GINT64_FORMAT, mpeg2dec->next_time);
GST_BUFFER_TIMESTAMP (outbuf) = mpeg2dec->next_time;
}
mpeg2dec->next_time += (mpeg2dec->frame_period * picture->nb_fields) >> 1;