mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
ext/dv/gstdvdec.c: Fix caps nego and pad templates. RGB mode caps should work now.
Original commit message from CVS: * ext/dv/gstdvdec.c: (gst_dvdec_video_link): Fix caps nego and pad templates. RGB mode caps should work now. * ext/dvdnav/gst-dvd: Move mpeg2dec inside the thread because otherwise the queue rejects cap changes mid-stream * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_get_type), (gst_mpeg2dec_flush_decoder): For mpeg2dec > 0.4.0, call the flush function instead of manually extracting all in-flight frames. * ext/raw1394/gstdv1394src.c: (gst_dv1394src_factory), (gst_dv1394src_init), (gst_dv1394src_iso_receive): Change mime type video/dv go video/x-dv to match the rest of gst-plugins
This commit is contained in:
parent
d08ff825bf
commit
49b8ebdb37
3 changed files with 24 additions and 5 deletions
16
ChangeLog
16
ChangeLog
|
@ -1,3 +1,19 @@
|
|||
2004-05-08 Jan Schmidt <thaytan@mad.scientist.com>
|
||||
* ext/dv/gstdvdec.c: (gst_dvdec_video_link):
|
||||
Fix caps nego and pad templates. RGB mode caps should
|
||||
work now.
|
||||
* ext/dvdnav/gst-dvd:
|
||||
Move mpeg2dec inside the thread because otherwise the
|
||||
queue rejects cap changes mid-stream
|
||||
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_get_type),
|
||||
(gst_mpeg2dec_flush_decoder):
|
||||
For mpeg2dec > 0.4.0, call the flush function instead of
|
||||
manually extracting all in-flight frames.
|
||||
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_factory),
|
||||
(gst_dv1394src_init), (gst_dv1394src_iso_receive):
|
||||
Change mime type video/dv go video/x-dv to match the
|
||||
rest of gst-plugins
|
||||
|
||||
2004-05-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
AUDIOSINK=`gconftool-2 -g /system/gstreamer/default/audiosink`
|
||||
gst-launch dvdnavsrc ! dvddemux name=demux .current_video ! mpeg2dec ! { queue max-size-buffers=10 ! mpeg2subt name=sub ! \
|
||||
gst-launch dvdnavsrc ! dvddemux name=demux .current_video ! { queue max-size-buffers=10 ! mpeg2dec ! mpeg2subt name=sub ! \
|
||||
navseek ! xvimagesink } demux.current_subpicture ! queue max-size-buffers=5 block-timeout=100000 ! sub.subtitle \
|
||||
demux.current_audio ! { queue ! a52dec ! audioscale ! $AUDIOSINK } $@
|
||||
|
|
|
@ -479,10 +479,10 @@ update_streaminfo (GstMpeg2dec * mpeg2dec)
|
|||
static void
|
||||
gst_mpeg2dec_flush_decoder (GstMpeg2dec * mpeg2dec)
|
||||
{
|
||||
mpeg2_state_t state;
|
||||
|
||||
if (mpeg2dec->decoder) {
|
||||
#if MPEG2_RELEASE < MPEG2_VERSION(0,4,0)
|
||||
const mpeg2_info_t *info = mpeg2_info (mpeg2dec->decoder);
|
||||
mpeg2_state_t state;
|
||||
|
||||
do {
|
||||
state = mpeg2_parse (mpeg2dec->decoder);
|
||||
|
@ -493,6 +493,9 @@ gst_mpeg2dec_flush_decoder (GstMpeg2dec * mpeg2dec)
|
|||
}
|
||||
}
|
||||
while (state != STATE_BUFFER && state != -1);
|
||||
#else
|
||||
mpeg2_reset (mpeg2dec->decoder, 1);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1016,7 +1019,7 @@ index_seek (GstPad * pad, GstEvent * event)
|
|||
if (entry) {
|
||||
const GstFormat *peer_formats, *try_formats;
|
||||
|
||||
/* since we know the exaxt byteoffset of the frame, make sure to seek on bytes first */
|
||||
/* since we know the exact byteoffset of the frame, make sure to seek on bytes first */
|
||||
const GstFormat try_all_formats[] = {
|
||||
GST_FORMAT_BYTES,
|
||||
GST_FORMAT_TIME,
|
||||
|
@ -1042,7 +1045,7 @@ index_seek (GstPad * pad, GstEvent * event)
|
|||
seek_event =
|
||||
gst_event_new_seek (*try_formats | GST_SEEK_METHOD_SET |
|
||||
GST_SEEK_FLAG_FLUSH, value);
|
||||
/* do the seekk */
|
||||
/* do the seek */
|
||||
if (gst_pad_send_event (GST_PAD_PEER (mpeg2dec->sinkpad), seek_event)) {
|
||||
/* seek worked, we're done, loop will exit */
|
||||
gst_mpeg2dec_flush_decoder (mpeg2dec);
|
||||
|
|
Loading…
Reference in a new issue