Commit graph

2723 commits

Author SHA1 Message Date
Thomas Vander Stichele
d6695d1dc6 bump for prerelease
Original commit message from CVS:
bump for prerelease
2004-10-06 15:56:04 +00:00
Christian Schaller
f3bcf7f427 add mng plugin to spec file
Original commit message from CVS:
add mng plugin to spec file
2004-10-06 15:24:31 +00:00
Stéphane Loeuillet
515dc1aba5 gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
add ATRAC3 to STATIC CAPS to fix a warning

* gst/matroska/ebml-read.c:
* gst-libs/gst/riff/riff-read.c:
fix typos
2004-10-06 15:12:08 +00:00
Stéphane Loeuillet
9ba183e760 gst-libs/gst/riff/riff-media.c: generate caps for ATRAC3 audio streams
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
generate caps for ATRAC3 audio streams

* gst/realmedia/rmdemux.c:
generate caps for ATRAC3 audio streams
2004-10-06 14:18:13 +00:00
Stéphane Loeuillet
26ce392dba gst/wavparse/Makefile.am gst/wavparse/riff.h gst/wavparse/wavparse.vcproj riff.h removal (unused and duplication with...
Original commit message from CVS:
* gst/wavparse/Makefile.am
* gst/wavparse/riff.h
* gst/wavparse/wavparse.vcproj
riff.h removal (unused and duplication with riff-ids.h)
2004-10-06 14:15:25 +00:00
Stéphane Loeuillet
0f870cd54d gst/wavparse/gstwavparse.h remove duplicated defines for audio codec codes gst-libs/gst/riff/riff-ids.h
Original commit message from CVS:
* gst/wavparse/gstwavparse.h
remove duplicated defines for audio codec codes

* gst-libs/gst/riff/riff-ids.h
* gst/wavenc/riff.h:
add "4CC" code for ATRAC3 audio streams
add "4CC" code for ITU_G721_ADPCM (unused for now)
2004-10-06 14:11:56 +00:00
Wim Taymans
9f1d61a785 gst/flx/gstflxdec.c: Actually _do_ negotiation. Pass gdouble as arg instead of guint64 for the framerate.
Original commit message from CVS:
* gst/flx/gstflxdec.c: (gst_flxdec_init), (gst_flxdec_loop):
Actually _do_ negotiation. Pass gdouble as arg instead
of guint64 for the framerate.
2004-10-06 13:56:07 +00:00
Wim Taymans
40b2248a3a gst/playback/: Set state on newly added element to READY so that negotiation can happen ASAP.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(find_compatibles), (close_pad_link), (try_to_link_1),
(no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Set state on newly added element to READY so that negotiation
can happen ASAP.
Addes some more debug info.
Do not try to plug pads with multiple caps structures or ANY
because it is too dangerous since we do not do dynamic
replugging.
2004-10-06 09:51:36 +00:00
Thomas Vander Stichele
b20c2c492d add Oriya translation, yippee
Original commit message from CVS:
add Oriya translation, yippee
2004-10-06 09:16:19 +00:00
Thomas Vander Stichele
5088c5e12d fix dist of smoke
Original commit message from CVS:
fix dist of smoke
2004-10-05 16:16:59 +00:00
Thomas Vander Stichele
847e6ea51e remove unused KIO_DIR
Original commit message from CVS:
remove unused KIO_DIR
2004-10-05 15:32:43 +00:00
Thomas Vander Stichele
98f925af88 fixing libmng build
Original commit message from CVS:
fixing libmng build
2004-10-05 15:29:37 +00:00
Ronald S. Bultje
5dab8b214f gst/avi/gstavidemux.c: Prevent overwrite of size member. Makes audio sound crappy.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Prevent overwrite of size member. Makes audio sound crappy.
2004-10-05 15:28:08 +00:00
Stéphane Loeuillet
22011be036 - add .rmvb to the list of RealMedia known file extensions
Original commit message from CVS:
- add .rmvb to the list of RealMedia known file extensions
2004-10-05 13:07:08 +00:00
Wim Taymans
5410de5525 ext/libmng/gstmngdec.c: Set the framerate correctly.
Original commit message from CVS:
* ext/libmng/gstmngdec.c: (gst_mngdec_loop), (mngdec_error),
(mngdec_openstream), (mngdec_closestream),
(mngdec_handle_sink_event), (mngdec_readdata),
(mngdec_gettickcount), (mngdec_settimer), (mngdec_processheader),
(mngdec_getcanvasline), (mngdec_refresh),
(gst_mngdec_change_state):
Set the framerate correctly.
2004-10-05 10:41:08 +00:00
Ronald S. Bultje
9712010d44 gst/avi/gstavidemux.c: There was something wrong with the index massaging.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
There was something wrong with the index massaging.
2004-10-04 17:29:27 +00:00
Wim Taymans
b90716dd18 ext/jpeg/: Updated smoke, new bitstream, allows embedding in ogg.
Original commit message from CVS:
* ext/jpeg/gstjpeg.c: (smoke_type_find), (plugin_init):
* ext/jpeg/gstsmokedec.c: (gst_smokedec_init),
(gst_smokedec_chain):
* ext/jpeg/gstsmokedec.h:
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init),
(gst_smokeenc_init), (gst_smokeenc_resync), (gst_smokeenc_chain):
* ext/jpeg/gstsmokeenc.h:
* ext/jpeg/smokecodec.c: (smokecodec_encode_new),
(smokecodec_decode_new), (smokecodec_info_free),
(smokecodec_set_quality), (smokecodec_get_quality),
(smokecodec_set_threshold), (smokecodec_get_threshold),
(smokecodec_set_bitrate), (smokecodec_get_bitrate),
(find_best_size), (abs_diff), (put), (smokecodec_encode_id),
(smokecodec_encode), (smokecodec_parse_id),
(smokecodec_parse_header), (smokecodec_decode):
* ext/jpeg/smokecodec.h:
* ext/jpeg/smokeformat.h:
Updated smoke, new bitstream, allows embedding in ogg.
2004-10-04 16:53:48 +00:00
Ronald S. Bultje
d2ba80e45e gst/avi/gstavidemux.c: Fix seeking in some files. All this code is no longer needed (and actually breaks stuff) becau...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Fix seeking in some files. All this code is no longer needed (and
actually breaks stuff) because we now synchronize the full index
right when reading the header.
2004-10-04 16:48:26 +00:00
Wim Taymans
b51d626874 configure.ac: configure update for libmng.
Original commit message from CVS:
* configure.ac:
configure update for libmng.
2004-10-04 16:38:45 +00:00
Wim Taymans
15b2ca7e34 ext/libmng/: Added basic MNG decoder. Needs more work. The encoder does not work yet.
Original commit message from CVS:
* ext/libmng/Makefile.am:
* ext/libmng/gstmng.c: (plugin_init):
* ext/libmng/gstmng.h:
* ext/libmng/gstmngdec.c: (gst_mngdec_get_type),
(gst_mngdec_base_init), (gst_mngdec_class_init),
(gst_mngdec_sinklink), (gst_mngdec_init), (gst_mngdec_src_getcaps),
(gst_mngdec_loop), (gst_mngdec_get_property),
(gst_mngdec_set_property), (mngdec_error), (mngdec_openstream),
(mngdec_closestream), (mngdec_handle_sink_event),
(mngdec_readdata), (mngdec_gettickcount), (mngdec_settimer),
(mngdec_processheader), (mngdec_getcanvasline), (mngdec_refresh),
(gst_mngdec_change_state):
* ext/libmng/gstmngdec.h:
* ext/libmng/gstmngenc.c: (gst_mngenc_get_type),
(mng_caps_factory), (raw_caps_factory), (gst_mngenc_base_init),
(gst_mngenc_class_init), (gst_mngenc_sinklink), (gst_mngenc_init),
(gst_mngenc_chain), (gst_mngenc_get_property),
(gst_mngenc_set_property):
* ext/libmng/gstmngenc.h:
Added basic MNG decoder. Needs more work. The encoder does
not work yet.
2004-10-04 16:37:06 +00:00
Ronald S. Bultje
4403ebfa3f gst/realmedia/rmdemux.c: Don't hang on length=0 chunks. Some negotiation fixes. Signal no-more-pads.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_handle_sink_event),
(gst_rmdemux_loop), (gst_rmdemux_add_stream),
(gst_rmdemux_parse_mdpr), (gst_rmdemux_dump_mdpr):
Don't hang on length=0 chunks. Some negotiation fixes. Signal
no-more-pads.
2004-10-04 16:10:40 +00:00
Thomas Vander Stichele
18b37a09d9 and this one too
Original commit message from CVS:
and this one too
2004-10-04 15:21:18 +00:00
Thomas Vander Stichele
1d0ae896fd you need 1.0.4 of speex
Original commit message from CVS:
you need 1.0.4 of speex
2004-10-04 15:11:49 +00:00
Iain Holmes
134a5deecb Revert the changes to the speex include file locations.
Original commit message from CVS:
Revert the changes to the speex include file locations.
2004-10-04 14:54:49 +00:00
Ronald S. Bultje
625a9e1acc gst/realmedia/rmdemux.c: Use debug category, fix EOS handling. filesrc ! rmdemux now works.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_class_init),
(gst_rmdemux_init), (gst_rmdemux_handle_sink_event),
(gst_rmdemux_loop), (gst_rmdemux_add_stream), (re_hexdump_bytes),
(re_dump_pascal_string), (gst_rmdemux_dump__rmf),
(gst_rmdemux_dump_prop), (gst_rmdemux_parse_mdpr),
(gst_rmdemux_dump_mdpr), (gst_rmdemux_dump_indx),
(gst_rmdemux_dump_data):
Use debug category, fix EOS handling. filesrc ! rmdemux now
works.
2004-10-04 14:43:22 +00:00
Ronald S. Bultje
3f20d7f4b8 gst/avi/gstavidemux.c: Improve allocation, cutting and sorting of the index. How takes a few seconds instead of minutes.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data):
Improve allocation, cutting and sorting of the index. How takes a
few seconds instead of minutes.
2004-10-04 13:32:20 +00:00
Christophe Fergeau
23fa458642 gst/realmedia/rmdemux.c: fixed compilation
Original commit message from CVS:
2004-10-03  Christophe Fergeau  <teuf@gnome.org>

* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr):
fixed compilation
2004-10-03 17:14:14 +00:00
Ramon Garcia Fernandez
771803d685 Use <speex.h> everywhere instead of sometimes <speex.h> and sometimes <speex/speex.h>
Original commit message from CVS:

Use <speex.h> everywhere instead of sometimes <speex.h> and
sometimes <speex/speex.h>
2004-10-02 23:27:26 +00:00
Ramon Garcia Fernandez
a1691c1f55 gstwavparse.c: it did not build in system with Glib < 2.4 because it used the macro G_MAXUINT32. Now we define the ma...
Original commit message from CVS:

gstwavparse.c: it did not build in system with Glib < 2.4 because it
used the macro G_MAXUINT32. Now we define the macro if it is not yet
defined.
2004-10-02 21:34:00 +00:00
Ronald S. Bultje
993092788c gst-libs/gst/riff/riff-media.c: Add wing commander format mimetype/fourccs.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add wing commander format mimetype/fourccs.
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Don't crash if some value is 0.
2004-10-02 20:27:04 +00:00
Ronald S. Bultje
89e2912bad gst-libs/gst/riff/riff-media.c: Add DIB fourcc (raw, palettized 8-bit RGB).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
2004-10-02 14:10:19 +00:00
Stéphane Loeuillet
b4700acee0 build fixes (those parameters/functions are const in 1.1.6)
Original commit message from CVS:
build fixes (those parameters/functions are const in 1.1.6)
2004-10-01 18:55:14 +00:00
Christian Schaller
49af49d8c5 some cleanups in regards to requirements
Original commit message from CVS:
some cleanups in regards to requirements
2004-10-01 17:18:09 +00:00
Phil Blundell
1d7dd09708 commiting patch from Phil Blundell
Original commit message from CVS:
commiting patch from Phil Blundell
2004-10-01 17:01:47 +00:00
Wim Taymans
73854c25ff ext/speex/gstspeexdec.c: Small cleanups.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (gst_speex_dec_class_init),
(speex_dec_get_formats), (speex_dec_convert),
(speex_dec_src_query), (speex_dec_src_event), (speex_dec_event),
(speex_dec_chain), (gst_speexdec_get_property),
(gst_speexdec_set_property):
Small cleanups.
2004-10-01 16:15:23 +00:00
Wim Taymans
51dacde4f8 gst/wavparse/gstwavparse.*: Added some more debugging info.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_class_init),
(gst_wavparse_stream_init), (gst_wavparse_fmt),
(gst_wavparse_other), (gst_wavparse_loop),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
* gst/wavparse/gstwavparse.h:
Added some more debugging info.
Fix the case where the length of the file is 0.
Make sure we seek to sample borders.
2004-10-01 16:01:51 +00:00
Wim Taymans
882c6f7f8e gst/playback/: Add some debug info to decodebin, update README
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
Add some debug info to decodebin, update README
2004-10-01 15:57:53 +00:00
Ronald S. Bultje
2538febaed ext/dvdnav/dvdnavsrc.c: Don't use g_print(); use GST_DEBUG().
Original commit message from CVS:
* ext/dvdnav/dvdnavsrc.c: (dvdnav_handle_navigation_event):
Don't use g_print(); use GST_DEBUG().
2004-10-01 13:30:09 +00:00
Ronald S. Bultje
cd464e02b4 ext/ogg/gstoggmux.c: Handle EOS properly.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_queue_pads):
Handle EOS properly.
2004-10-01 13:28:29 +00:00
Ronald S. Bultje
529650004a ext/faad/gstfaad.*: Allow playback of raw (unframed) MPEG AAC files (#148993).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_sinkconnect),
(gst_faad_chain), (gst_faad_change_state):
* ext/faad/gstfaad.h:
Allow playback of raw (unframed) MPEG AAC files (#148993).
2004-10-01 13:00:41 +00:00
Ronald S. Bultje
978550fe3c gst/wavparse/gstwavparse.c: Throw error if we didn't recognize the stream. Fixes #152289.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Throw error if we didn't recognize the stream. Fixes #152289.
2004-10-01 12:39:08 +00:00
Ronald S. Bultje
abd45313bf gst/videoscale/gstvideoscale.c: Fix negotiation.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_videoscale_link):
Fix negotiation.
2004-10-01 12:32:25 +00:00
Ronald S. Bultje
0cc3b66988 gst/wavparse/gstwavparse.c: Fix memleak.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak.
2004-10-01 11:53:19 +00:00
Ronald S. Bultje
0b7ac80b8c sys/sunaudio/gstsunaudio.c: Solve #152805.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* sys/sunaudio/gstsunaudio.c: (gst_sunaudiosink_setparams):
Solve #152805.
* sys/sunaudio/gstsunmixer.c: (gst_sunaudiomixer_set_mute):
Solve 152806.
2004-10-01 11:44:22 +00:00
Ronald S. Bultje
260f03d7eb gst-libs/gst/riff/riff-media.c: Add codec_data handling (like asfdemux used to do).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_audio_caps_with_data):
Add codec_data handling (like asfdemux used to do).
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream):
Use riff-media for caps creation instead of our own (mostly
broken) copy of its functions.
2004-10-01 10:50:57 +00:00
Ronald S. Bultje
2ab3b43891 sys/v4l/v4lsrc_calls.c: Don't actually error out if we get another return value than
Original commit message from CVS:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_try_capture):
Don't actually error out if we get another return value than
-EINVAL. Opposite to what I first thought, drivers have random
return values for this, although -EINVAL is the expected return
value. Since this is not fatal, we shouldn't use
GST_ELEMENT_ERROR() but just GST_ERROR_OBJECT().
2004-10-01 10:02:42 +00:00
Ronald S. Bultje
a8afe5f5b3 ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole DVD, that will cache all data and thus eat...
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
(dvdreadsrc_get_property), (_open), (_seek), (_read),
(dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state):
Fix. Don't do one big huge loop around the whole DVD, that will
cache all data and thus eat sizeof(dvd) (several GB) before we
see something.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Actually NULL'ify event after using it.
* gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
(gst_ebml_read_handle_event), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_element_data),
(gst_ebml_read_seek), (gst_ebml_read_skip):
Handle events.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
Fix timing (this will probably break if I seek using menus, but
I didn't get there yet). VOBs and normal DVDs should now work.
Add a mpeg2-only pad with high rank so this get autoplugged for
MPEG-2 movies.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
(gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
Use this as second rank for MPEG-1 and MPEG-2. Still use this for
MPEG-1 but use dvddemux for MPEG-2.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
(gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
(gst_mpeg_parse_parse_packhead):
Timing. Only add pad template if it exists. Add sink template from
class and not from ourselves. This means we will always use the
correct sink template even if it is not the one defined in this
file.
2004-10-01 08:42:56 +00:00
Wim Taymans
815d511c8a gst/mpegstream/: Fix playback of mpeg again, timestamps where screwed up by patch 1.61.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead):
Fix playback of mpeg again, timestamps where screwed up by
patch 1.61.
2004-09-29 19:09:25 +00:00
Christian Schaller
7271b2872b fix V4L2 spec entry
Original commit message from CVS:
fix V4L2 spec entry
2004-09-29 19:00:31 +00:00
Ronald S. Bultje
ea118a8d64 ext/flac/gstflacdec.c: Only return true if we actually filled something in. Prevents player applications from showing...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
2004-09-29 09:45:40 +00:00