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.
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.
Original commit message from CVS:
Company's wisdom:
Events should be passed on using the sinkpad's default handler not the src
Seek events only go upstream, so send a discont downstream instead.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data),
(gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event):
Prevent infinite loops. More correct error reporting.
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out if negotiation fails.
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state), (gst_play_base_bin_error),
(gst_play_base_bin_found_tag):
Error/tag forwarding. Pre-roll fixes for source errors on state
changes (e.g. "file does not exist") to prevent hangs.
Original commit message from CVS:
2004-09-19 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/wavenc/gstwavenc.c: (gst_wavenc_init), (gst_wavenc_chain):
* gst/wavenc/gstwavenc.h:
Added newmedia support to wavenc
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_data):
Just hardcode for raw audio then. AVI audio sucks.
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it. Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_data):
* gst/avi/gstavidemux.h:
Fix for compressed audio (mp3) timestamp generation. How did this
ever work?
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Don't crash by dividing by zero (see sample movie in #126922).
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_buffers):
Copy timestamps from the master pad to the output buffers.
Original commit message from CVS:
Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
Original commit message from CVS:
Fix byte order reversion for writing ebml floats.
Write segment duration and muxing application in matroska.
Added TTA codec to the list of supported codecs to mux into matroska.
Original commit message from CVS:
Interpret BLOCKDURATION and set buffer duration accordingly, enable demuxing
of TTA audio from matroska, fixes bugs #148950 and #148951.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_init), (gst_udpsrc_get):
* gst/udp/gstudpsrc.h:
Don't call gst_pad_push in a get function. Fixes#150449
Original commit message from CVS:
2004-07-28 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_chain): send tag events downstream
* ext/shout2/gstshout2.c: (gst_shout2send_protocol_get_type),
(gst_shout2send_get_type), (gst_shout2send_set_clock),
(gst_shout2send_class_init), (gst_shout2send_init),
(set_shout_metadata), (gst_shout2send_set_metadata),
(gst_shout2send_chain), (gst_shout2send_set_property),
(gst_shout2send_get_property), (gst_shout2send_connect),
(gst_shout2send_change_state):
* ext/shout2/gstshout2.h:
- fix for sending mp3 audio to icecast2 server, if pad link function not
called before PAUSED state
- added option to use GStreamer clock sync (as opposed to libshout's own sync)
- added tagging support for mp3 audio broadcasted
* gst/monoscope/gstmonoscope.c: (gst_monoscope_class_init):
debug info
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt),
(gst_wavparse_handle_seek), (gst_wavparse_srcpad_event):
Add the pad to the element after setting up the caps. This
makes it a lot easier to autoplug.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_pad_get_type),
(gst_videomixer_pad_class_init), (gst_videomixer_pad_get_property),
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sinkconnect), (gst_videomixer_pad_init),
(gst_video_mixer_background_get_type), (gst_videomixer_get_type),
(gst_videomixer_class_init), (gst_videomixer_init),
(gst_videomixer_getcaps), (gst_videomixer_request_new_pad),
(gst_videomixer_blend_ayuv_i420), (pad_zorder_compare),
(gst_videomixer_sort_pads), (gst_videomixer_fill_checker),
(gst_videomixer_fill_color), (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers), (gst_videomixer_update_queues),
(gst_videomixer_loop), (plugin_init):
Be a nicer negotiation citizen and provide a getcaps function on
the srcpad. This also fixes a crash when resizing.
Original commit message from CVS:
Set the explicit caps on the pad when the file is parsed as explicit caps get wiped during state changes. fixes bug #148043
Original commit message from CVS:
* gst/alpha/Makefile.am:
* gst/alpha/gstalphacolor.c: (gst_alpha_color_get_type),
(gst_alpha_color_base_init), (gst_alpha_color_class_init),
(gst_alpha_color_init), (gst_alpha_color_set_property),
(gst_alpha_color_get_property), (gst_alpha_color_sink_link),
(transform), (gst_alpha_color_chain),
(gst_alpha_color_change_state), (plugin_init):
Stupid plugin to to RGBA to AYUV conversion because none of
the colorspace plugins can handle that yet.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mp42/mp43 (no caps) exist too.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Set pixel_width/height; we've got them in-caps.
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/wavparse/gstwavparse.c: (plugin_init):
Both are valid primary.
* sys/oss/gstossmixer.c:
Remove i18n hack and enable translations.
Original commit message from CVS:
* gst/videobox/gstvideobox.c: (gst_video_box_fill_get_type),
(gst_video_box_class_init), (gst_video_box_set_property),
(gst_video_box_i420), (gst_video_box_ayuv), (gst_video_box_chain):
Use pad_alloc where possible.
Original commit message from CVS:
* ext/dvdnav/gst-dvd: Grab the gconf key from the right spot
* gst/debug/gstnavseek.c: (gst_navseek_init),
(gst_navseek_segseek), (gst_navseek_handle_src_event),
(gst_navseek_chain):
* gst/debug/gstnavseek.h: Add 's', 'e' and 'l' keypresses to navseek
to define the start,end and loop parameters of a segment seek.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_init),
(gst_videotestsrc_get_event_masks),
(gst_videotestsrc_handle_src_event), (gst_videotestsrc_get):
* gst/videotestsrc/gstvideotestsrc.h:
Add seeking support to videotestsrc
Initialise the timestamp_offset variable.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
Bitch. Also known as seeking, querying & co.
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/oss/gstosssink.h:
Resyncing is for weenies, this hack is no longer needed and was
broken anyway (since it - unintendedly - always leaves resync to
TRUE).
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_class_init),
(gst_multipart_mux_init), (gst_multipart_mux_loop),
(gst_multipart_mux_get_property), (gst_multipart_mux_set_property),
(gst_multipart_mux_change_state):
Added configurable boundary specifier, added the value as a
caps field as well.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Initialise b_o_s and e_o_s variables
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add some unusual fourcc's from mplayer avi's
* gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init):
Make the muxer have rank GST_RANK_NONE, so it doesn't mess up
autoplugging.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Fix potential division by zero error and hopefully get
the position query right to get correct timestamps on avi
audio.
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_get_formats),
(gst_dvdec_src_convert), (gst_dvdec_sink_convert):
Fix format conversion and position querying.
* gst/debug/progressreport.c: (gst_progressreport_report):
Don't output a bogus total value that we didn't query.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Always set XV_AUTOPAINT_COLORKEY to true. Fixes xvimagesink showing
only a blank window after xine has been used.
Original commit message from CVS:
* gst/debug/testplugin.c:
* gst/debug/tests.c:
* gst/debug/tests.h:
add new extensible and configurable testing element. Current tests
include buffer count, stream length, timestamp/duration matching and
md5.
* gst/debug/Makefile.am:
* gst/debug/gstdebug.c: (plugin_init):
add infrastructure for new element
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header): Patch from dcm@acm.org (David Moore)
to allow qtdemux to use non-seekable streams. (bug #142272)
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
is killed while we're playing.
* gst/qtdemux/qtdemux.c: (qtdemux_parse): call
gst_element_no_more_pads().
Original commit message from CVS:
* ext/audiofile/gstafparse.c : change class to Codec/Demuxer/Audio
* gst/auparse/gstauparse.c : idem
* gst/wavparse/gstwavparse.c : idem
Original commit message from CVS:
* ext/mad/gstid3tag.c : move from "Codec/(Dem/M)uxer" to "Codec/(Dem/M)uxer/Audio"
* gst/wavenc/gstwavenc.c : move from "Codec/Encoder/Audio" to "Codec/Muxer/Audio"
* gst/auparse/gstauparse.c :
- add code (commented for now) to support audio/x-adpcm on src pad
(we have no decoder for those layout yet)
* gst/cdxaparse/gstcdxaparse.c :
* gst/cdxaparse/gstcdxaparse.h :
- partial rewrite using RiffRead (ripped iain's wavparse code)
* gst/rtp/gstrtpL16enc.c : typo
* gst/rtp/gstrtpgsmenc.c : typo
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h :
- add CDXA to the list of RIFF types
- add plst (playlist ?) to wav chunk list (only diff with wavparse/riff.h)
Original commit message from CVS:
* gst/auparse/gstauparse.c :
- Document all audio encoding we can encounter from Solaris 9
headers and libsndfile information.
- Increase max. rate from 48000 to 192000 (to match other elements)
- Don't try to play junk data between header and samples
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_class_init),
(gst_auparse_init), (gst_auparse_chain),
(gst_auparse_change_state):
Hack around spider. Remove me some day please.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Fix for some uninitialized variables in previous patch, also
makes it work. Fixes#142286 while we're at it.
Original commit message from CVS:
* gst/auparse/gstauparse.c:
fixes a-law, adds mu-law, linear pcm (8,16,24,32), ieee (32, 64)
only unsupported formats are ADPCM/CCITT G.72x
reviewed by Ronald
* gst-libs/gst/audio/audio.h:
adds 24bit depth to PCM (x-raw-int)
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_destroy_sourcepad),
(gst_wavparse_create_sourcepad):
make PAUSED=>READY=>PAUSED=READY work by not destroying NULL
sourcepads
Original commit message from CVS:
* gst/level/gstlevel.c: (gst_level_link), (gst_level_chain),
(gst_level_change_state), (gst_level_init):
* gst/level/gstlevel.h:
figure out if we're initialized directly instead of keeping a
variable that's wrong in 90% of cases
don't initialize pads and then leak them and use a new unitialized
pad. (fixes#142084)
these were bugs so n00bish I didn't find them for an hour :/
Original commit message from CVS:
Rewrote wavparse to use riff-read instead of doing bytestream stuff by hand.
Made some useful functions in riff-read non-static.
Original commit message from CVS:
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain):
First process the events before deciding that negotiation
was not performed.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-ids.h:
Basic tag reading support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_type_get),
(qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64),
(qtdemux_dump_unknown), (qtdemux_parse_tree), (qtdemux_parse_udta),
(qtdemux_tag_add), (get_size), (gst_qtdemux_handle_esds): More qtdemux
hackage -- parse a lot more atoms, extract a few tags. One might even
mistake this for tag support. Maybe it is.
* gst/qtdemux/qtdemux.h:
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_parse_trak), (get_size), (gst_qtdemux_handle_esds): Hacked
up qtdemux to make it spit out codec_data. Do _not_ look at this
code; you will no longer respect me.
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
Original commit message from CVS:
* ext/divx/gstdivxdec.c: (plugin_init):
Remove comment that makes no sense.
* ext/mad/gstid3tag.c: (gst_id3_tag_set_property):
Fix for obvious typo that resulted in warnings during gst-register.
* ext/xvid/gstxviddec.c: (gst_xviddec_src_link),
(gst_xviddec_sink_link):
Fix caps negotiation a bit better.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
We call this 'codec_data', not 'esds'.
Original commit message from CVS:
* gst/monoscope/gstmonoscope.c:
make sure we only provide 256x128
* gst/monoscope/monoscope.c: (monoscope_init):
assert size of 256x128
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop):
Missing variable initialization. Add handling of DVI ADPCM. Fix
mis-parsing of LIST chunks. This works around a bug where we mis-
parse non-aligning LIST chunks (so LIST chunks where the contents
don't align with the actual LIST size). The correct fix is to use
rifflib, I'm not going to fix wavparse - too much work. All this
fixes#104878.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_stsd), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
A number of new features and hacks to extract the esds atom and
put it into the caps. (bug #137724)
Original commit message from CVS:
* gconf/Makefile.am: Fix for non-GNU make
* gst-libs/gst/Makefile.am: Change directory order to handle
GstPlay linking with gstinterfaces
* gst-libs/gst/audio/make_filter: make use of tr portable
* gst-libs/gst/play/Makefile.am: Add intended \
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_xwin_set_clips): Switch to ISO variadic macro. Use a
function prototype instead of void *.
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: Switch to ISO variadic
macro.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_chain): wrap NULL in GST_ELEMENT_ERROR call
* gst/videofilter/make_filter: make use of tr portable
* pkgconfig/Makefile.am: Remove GNU extension in Makefile target
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_destroy_sourcepad), (gst_wavparse_create_sourcepad),
(gst_wavparse_parse_fmt), (gst_wavparse_change_state):
Hack to make wavparse work with spider (always -> sometimes pad).
Fixes#135862 && #140411.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
Original commit message from CVS:
* common/m4/gst-feature.m4: Call -config scripts with
--plugin-libs if it is supported.
* gst/avi/gstavimux.c: (gst_avimux_vidsinkconnect): sequences of
JPEG images are image/jpeg.
* gst/debug/Makefile.am:
* gst/debug/negotiation.c: (gst_negotiation_class_init),
(gst_negotiation_getcaps), (gst_negotiation_pad_link),
(gst_negotiation_update_caps), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): Add a property that acts like
filter caps.
* testsuite/gst-lint: Move license checking to be a standard
test.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add MS video v1.
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_data):
Add support for "rec-list" chunks.
Original commit message from CVS:
a52dec: Use a debug category, Output timestamps correctly
Emit tag info, Handle events, tell liba52dec about cpu
capabilities so it can use MMX etc.
dvdec: Fix a crasher accessing invalid memory
dvdnavsrc:Some support for byte-format seeking.
Small fixes for still frames and menu button overlays
mpeg2dec: Use a debug category. Adjust the report level of several items to
LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers'
so it doesn't lose the GstBuffer pointer
navseek: Add the navseek debug element for seeking back and forth in a
video stream using arrow keys.
mpeg2subt:Pretty much a complete rewrite. Now a loopbased element. May still
require work to properly synchronise subtitle buffers.
mpegdemux:
dvddemux: Don't attempt to create subbuffers of size 0
Reduce a couple of error outputs to warnings.
y4mencode:Output the y4m frame header correctly
Original commit message from CVS:
* gst/audioscale/gstaudioscale.c: (gst_audioscale_expand_value),
(gst_audioscale_getcaps): Fix getcaps to expand and union lists.
(bug #138225)
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c: (gst_break_my_data_plugin_init):
* gst/debug/gstdebug.c: (plugin_init): Merge elements into one
plugin.
* gst/debug/negotiation.c: (gst_gst_negotiation_get_type),
(gst_negotiation_base_init), (gst_negotiation_class_init),
(gst_negotiation_init), (gst_negotiation_getcaps),
(gst_negotiation_pad_link), (gst_negotiation_chain),
(gst_negotiation_set_property), (gst_negotiation_get_property),
(gst_negotiation_plugin_init): New element to talk about random
negotiation things happening in a pipeline.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that
aren't in the caps.
* gst/sine/gstsinesrc.c: change rate caps to [1,MAX]
* gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE.
Original commit message from CVS:
* gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link),
(gst_alawdec_base_init), (gst_alawdec_class_init),
(gst_alawdec_init), (gst_alawdec_chain):
* gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link),
(gst_alawenc_base_init), (gst_alawenc_class_init),
(gst_alawenc_init), (gst_alawenc_chain):
* gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link),
(gst_mulawdec_base_init), (gst_mulawdec_class_init),
(gst_mulawdec_init), (gst_mulawdec_chain):
* gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link),
(gst_mulawenc_base_init), (gst_mulawenc_class_init),
(gst_mulawenc_init), (gst_mulawenc_chain):
Fix capsnego in all four, remove the unused property functions and
simplify the chain functions slightly. I guess we could use macros
or something similar for those, since the code is so similar, but
I'm currently too lazy...
Original commit message from CVS:
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c:
add element that quasi-randomly changes bytes in the stream.
Intended use is robustness checking of demuxers and decoders in
media tests.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_set_property):
don't g_return_if_fail if element is PLAYING, fail silently as every
other element.
* gst/effectv/gstquark.c: (gst_quarktv_chain):
only fix needed for cast lvalue issues in gst-plugins
* gst/volenv/gstvolenv.c: (gst_volenv_init):
add proxy_getcaps
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix for obvious mistake, where we first shift the offset and then
read a samplesize element assuming the old offset. Note that this
part still has something weird, i.e. my movies containing those
don't actually play well, but at least there's something that looks
like sound now.
Original commit message from CVS:
Port all elements that can be ported to videofilter, and fix up the caps.
Can someone with a big-endian machine please check them?
Original commit message from CVS:
* ext/lcs/Makefile.am: Fix so that the lcs colorspace plugin
doesn't conflict with the internal colorspace plugin.
* gst-libs/gst/audio/make_filter: Use `` instead of $() to
satisfy the crappy-ass shell shipped by a certain vendor.
* gst/videofilter/make_filter: same (bug #135299)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Fix crash (j might be greater than n_samples, in which case we're
writing outside the allocated space for the array) and memleak.
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init):
Add fixate function. (bug #131128)
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
(gst_sdlvideosink_fixate): Add fixate function.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Fix attempt to print a non-pointer using GST_PTR_FORMAT.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt):
Fix missing break that was causing ulaw to be interpreted as
raw int.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps),
(gst_faad_chain): Fix negotiation.
* ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add
key and button events.
* gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this
dung heap of code.
* gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf
depends on gconf
* gst-libs/gst/gconf/gstreamer-gconf.pc.in: same
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate
function to encourage better negotiation, particularly between
audioconvert and osssink.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Make some debugging
more important.
* gst/typefind/gsttypefindfunctions.c: Fix mistake in flash
typefinding.
* gst/vbidec/vbiscreen.c: Add glib header
* pkgconfig/gstreamer-play.pc.in: Depends on gst-interfaces.
Original commit message from CVS:
reviewed by David Schleef
* gst/videofilter/gstgamma.c: (gst_gamma_rgb32): Fix typo that
modified the alpha channel and caused a warning. (bug #136192)
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/level/Makefile.am: -marshal.[ch] and -enum.[ch] files
should not be disted, -marshal.h files should not be installed,
and -enum.h files _should_ be installed. Fix to make this the
case.
Original commit message from CVS:
reviewed by: David Schleef <ds@schleef.org>
* gst/videofilter/gstgamma.c: (gst_gamma_class_init),
(gst_gamma_init), (gst_gamma_set_property),
(gst_gamma_get_property), (gst_gamma_calculate_tables),
(gst_gamma_rgb24), (gst_gamma_rgb32): Adds gamma correction
for RGB, with separate r g and b correction factors.
Original commit message from CVS:
2004-02-20 Benjamin Otte <otte@gnome.org>
* ext/xine/Makefile.am:
* ext/xine/gstxine.h:
* ext/xine/xine.c:
* ext/xine/xineaudiodec.c:
* ext/xine/xinecaps.c:
add first version of xine plugin wrapper. Currently only wraps the
QDM2 win32 DLL, and even that only in proof-of-concept quality.
* configure.ac:
* ext/Makefile.am:
add xine plugin wrapper, disabled by default. Use --enable-xine to
build. Note that it'll segfault on gst-register if you don't remove
the goom and tvtime post plugins from xine.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_parse_trak), (qtdemux_audio_caps):
add extradata parsing for QDM2.
change around debugging prints.
Original commit message from CVS:
Convert a few inner loops to use liboil. This is currently
optional, and is only enabled if liboil is present (duh!).
* configure.ac: Check for liboil-0.1
* gst/intfloat/Makefile.am:
* gst/intfloat/gstint2float.c: (conv_f32_s16), (scalarmult_f32),
(gst_int2float_chain_gint16):
* gst/videofilter/Makefile.am:
* gst/videofilter/gstvideobalance.c: (gst_videobalance_class_init),
(tablelookup_u8), (gst_videobalance_planar411):
* gst/videotestsrc/Makefile.am:
* gst/videotestsrc/gstvideotestsrc.c: (plugin_init):
* gst/videotestsrc/videotestsrc.c: (splat_u8), (paint_hline_YUY2),
(paint_hline_IYU2), (paint_hline_str4), (paint_hline_str3),
(paint_hline_RGB565), (paint_hline_xRGB1555):
Original commit message from CVS:
2004-02-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
set explicit caps before adding the element, so the autopluggers can
plug correctly.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find),
(mpeg2_sys_type_find), (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(dv_type_find):
fix memleaks in typefind functions. gst_type_find_suggest takes a const
argument.
Original commit message from CVS:
2004-01-30 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_seek):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_seek):
Fix event handling.
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: update to checklist 5
* gst/adder/gstadder.c: rewrite negotiation. update to checklist 5
* gst/audioconvert/gstaudioconvert.c: update to checklist 5
* gst/audioscale/gstaudioscale.c: same
* gst/auparse/gstauparse.c: same
* gst/avi/gstavidemux.c: same
Original commit message from CVS:
2004-01-27 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c:
* gst/asfdemux/gstasfmux.c: (gst_asfmux_put_guid),
(gst_asfmux_put_string), (gst_asfmux_put_wav_header),
(gst_asfmux_put_vid_header), (gst_asfmux_put_bmp_header):
lot's of fixes to make data extraction simpler and get the code
architecture and compiler independant. Add debugging category
* gst/goom/gstgoom.c: (gst_goom_change_state):
reset channel count on PAUSED=>READY, not READY=>PAUSED
Original commit message from CVS:
2004-01-26 Jeremy Simon <jesimon@libertysurf.fr>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt):
* gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
Add SVQ3 specific flags to qtdemux and ffmpeg
Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
The index reading was broken. The rest worked fine, but the whole
goal of my rewrite was to make avidemux readable, and this was
not at all readable. Please use typed variables.
Original commit message from CVS:
2004-01-23 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
don't write to buffer. Extract data without the need of
__attribute__ ((packed))
Original commit message from CVS:
* gst/videofilter/gstvideobalance.c: Fix regression; changing a
property affects the video stream.
* sys/xvimage/xvimagesink.c:
* sys/xvimage/xvimagesink.h:
Add synchronous property for debugging. Should probably be
disabled in non-CVS builds. Make sure that the Xv attribute
exists before we set it (crash!). Fix a silly float bug that
caused colorbalance to just not work.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property
that handles osssink fallback.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_getcaps):
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add audio/x-qdm2 for QDM2 audio.
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
* gst/sine/gstsinesrc.h: Add example of how to implement tags.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
Decrease minimum size to 16x16.
* gst/wavparse/gstwavparse.c:
Convert disabled pad template caps to new caps.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_chain): Throw element error when display cannot
be opened. Increase minimum framerate to 1.0. Check the data
free function on a buffer to make sure it is the type we expect
before manipulating it.
Original commit message from CVS:
2004-01-15 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value): Implement passthru if
settings are in the middle.
* tools/gst-launch-ext.in: Stop using xvideosink, use ximagesink.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/videofilter/Makefile.am:
* gst/volume/Makefile.am:
Since we use videofilter symbols, link to it.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst/videofilter/gstvideobalance.c: (gst_videobalance_init),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value): Fixing videobalance ranges
for colorbalance interface implementation.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_set_property), (gst_ximagesink_get_property),
(gst_ximagesink_dispose), (gst_ximagesink_init),
(gst_ximagesink_class_init): Adding DISPLAY property.
* sys/ximage/ximagesink.h: Adding display_name to store display.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
(gst_xvimagesink_dispose), (gst_xvimagesink_init),
(gst_xvimagesink_class_init): Adding DISPLAY property and colorbalance
properties (they still need polishing though for gst-launch use : no
xcontext yet, i ll do that tomorrow).
* sys/xvimage/xvimagesink.h: Adding display_name to store display.
Original commit message from CVS:
2004-01-14 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.c:
(gst_color_balance_class_init): Adding a default type.
* gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access
the type.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type),
(gst_videobalance_dispose), (gst_videobalance_class_init),
(gst_videobalance_init), (gst_videobalance_interface_supported),
(gst_videobalance_interface_init),
(gst_videobalance_colorbalance_list_channels),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value),
(gst_videobalance_colorbalance_init): Implementing colorbalance
interface.
* gst/videofilter/gstvideobalance.h: Adding colorbalance channels
list.
* sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a
bug which was triggering a BadAccess X error when setting an overlay
before pad was really negotiated.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init):
Using the colorbalance type macro.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
Fix for using incremental number on padnames.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
Set category to divx4linux instead of divx (too generic).
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop), (gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
fix parsing of WAV files with non-standard fmt-tag size and fix
skipping of unrecognized chunks... Someone please fix this thing
to use rifflib so all this is automated.
* sys/v4l/Makefile.am:
* sys/v4l2/Makefile.am:
Add X_CFLAGS because we depend on X (for overlay).
Original commit message from CVS:
2004-01-13 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the
colorbalance interface stating if it is hardware based or software
based.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_planar411):
Removing a trailing comma.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_colorbalance_init): Integrating a patch from Jon
Trowbridge <trow@ximian.com> querying Xv adaptor for min/max value as
the documentation seems to be wrong on the -1000 to 1000 interval.
Original commit message from CVS:
* gst/debug/efence.c: (gst_efence_init), (gst_efence_chain),
(gst_efence_buffer_alloc), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_free), (gst_fenced_buffer_default_copy):
Fix negotiation. Add a bufferalloc function for the sink pad,
and generally clean up some of the code.
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
* ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test
* gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_copy): Fix for rename of buffer private
structure members.
* gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time
value during a resize/renegotiation.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use
gst_pad_alloc_buffer();
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
(gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private
structure members.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
Fix for rename of buffer private structure members.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
Fix for rename of buffer private structure members.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Fix for rename of buffer private structure members.
Original commit message from CVS:
* gst/effectv/gstaging.c: (gst_agingtv_get_type),
(gst_agingtv_base_init), (gst_agingtv_class_init),
(gst_agingtv_init), (gst_agingtv_setup), (gst_agingtv_rgb32),
(gst_agingtv_set_property), (gst_agingtv_get_property):
Port agingTV to videofilter
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Fix pad_link function to handle formats that ffmpeg returns
as multiple caps structures.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
Only complain if source buffer is _smaller_ than expected.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_init),
(gst_videoscale_handle_src_event): Resize navigation events
when passing them upstream.
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Rewrite many of the buffer painting functions to handle odd
sizes (for many formats, size%4!=0 or size%8!=0). Most have
been verified to work with my video card.
* testsuite/gst-lint: Add check for elements calling
gst_pad_get_caps() instead of gst_pad_get_allowed_caps().
Original commit message from CVS:
2004-01-08 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/median/gstmedian.c: (gst_median_link), (gst_median_init):
Fix capsnego.
Original commit message from CVS:
2004-01-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain),
(gst_afsink_handle_event):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_init):
* gst/avi/gstavimux.c: (gst_avimux_request_new_pad):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
Fix for instantiate-test (see core). Also remove dead code from
jpegenc (which still needs fixing, but that's lower on my TODO
list...).
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps):
Never return NULL as caps.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c:
Fix EBML-laced block parsing. Diffs are relative to previous
lace, not the first lace. Thanks to Mosu from the Matroska
team for detecting this.
(gst_matroska_demux_parse_blockgroup):
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_getcaps),
(gst_wavparse_handle_sink_event), (gst_wavparse_loop),
(gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
Quickfix for capsnego.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (set_property), (gst_wavenc_init):
Fix indenting, fix pad creation.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps),
(gst_matroska_demux_add_stream):
* gst/matroska/matroska-ids.h:
Add getcaps() function to fix capsnego...
Original commit message from CVS:
2004-01-03 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/rtp-packet.c:
Add sys/types.h include, since OS X doesn't define in_addr_t
in netinet/in.h, like it does on Linux (see #129600).
Original commit message from CVS:
2004-01-02 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
* gst/matroska/ebml-write.c: (gst_ebml_write_sint):
fix signed integer reading/writing.
Original commit message from CVS:
2004-01-01 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
Original commit message from CVS:
2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net>
* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
Original commit message from CVS:
Riff, EBML, fourcc etc. work. Not fully finished, but better than
what we used to have and definately worth a first broad testing.
I've revived rifflib. Rifflib used to be a bytestream-for-riff, which
just dup'ed bytestream. I've rewritten rifflib to be a modern riff-
chunk parser that uses bytestream fully, plus adds some extra functions
so that riff file parsing becomes extremely easy. It also contains some
small usability functions for strh/strf and metadata parsing. Note that
it doesn't use the new tagging yet, that's a TODO.
Avidemux has been rewritten to use this. I think we all agreed that
avidemux was pretty much a big mess, which is because it used all
sort of bytestream magic all around the place. It was just ugly.
This is a lot nicer, very complete and safe. I think this is far more
robust than what the old avidemux could ever have been. Of course, it
might contain bugs, please let me know.
EBML writing has also been implemented. This is useful for matroska.
I'm intending to modify avidemux (with a riffwriter) similarly. Maybe
I'll change wavparse/-enc too to use rifflib.
Lastly, several plugins have been modified to use rifflib's fourcc
parsing instead of their own. this puts fourcc parsing in one central
place, which should make it a lot simpler to add new fourccs. We might
want to move this to its own lib instead of rifflib.
Enjoy!
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.
Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
Original commit message from CVS:
Add a local copy of riff.h as we don't use rifflib anymore.
Rewrite the main loop to use bytestreams instead of rifflib. Make it a loopbased
filter.
Handle metadata, cues and labels as well
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
Original commit message from CVS:
Add a parser for metadata
(demux_metadata): Given the buffer containing the metadata, look through it and
get the info out of it.
(wav_new_chunk_callback): Change the if statement to a switch statement.
Handle GST_RIFF_TAG_LIST by changing what the type of list it is and parsing out
metadata if it is "INFO".
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
Original commit message from CVS:
Set keyframe flag only when it is a keyframe. This will break quite some formats because many encoders dont set this flag correctly, but I'll fix that as I encounter them. divx5 works correctly now. ;).
Original commit message from CVS:
In the intfloat conversion elements, there were bugs when the float buffer was
bigger than the int buffer (in frames). That's now fixed, some style issues are
"fixed" (subjectively), mallocs are removed from int2float's processing loop,
and the default buffer size was raised to 256 frames to give better performance in
the default case.
Wavenc was modified to not set an event handler on its sink pad. It deals
with EOS in its chain function instead.
Original commit message from CVS:
Fix padding (2 bytes instead of 4), improve index offset calculation, fix some minor other issues and make avimux actually work with mp3 audio
Original commit message from CVS:
Fixes to make it compile without GNOME, and with a modern (>= 0.3)
version of GStreamer. Now that I got it compiled, I want to delete
it.
Original commit message from CVS:
Added #include of config.h so that they symbol "VERSION" could be found.
Also removed GST_CAT_EVENT from a GST_DEBUG line to reflect recent changes
in the debug logic. Now this plugin compiles.
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
Original commit message from CVS:
This adds width/height properties to qtdemux, so that it connects to ffdec_*... still doesn't work, because the buffer allocation in ffdec_ allocs too small buffers (edge emulation failure or so?), which causes a segfault. I'm working on that
Original commit message from CVS:
Handle compressed headers. Fix inappropriate use of bytestream_flush().
Code cleanup. Added getcaps and _link functions for src pads. Extract
and set the size,rate,channels correctly. Fix some of the caps to
agree with avidemux and/or ffmpeg.
Original commit message from CVS:
Actually push the event over to the next element instead of leaving it into eternity - thanks for Joshua for detecting
Original commit message from CVS:
Fix avimux (somewhat). Note: the EOS event still doesn't get through. This is completely braindead, I have no clue why, but setting this thing to PAUSE should do the trick too. EOS fix will come later on...
Original commit message from CVS:
Made the SWAP and PREPARE_3D_LINE macros work with gints rather than
using typeof(), since typeof() is a gcc-extension and does not work
with other compilers. This is okay since every place these macros
are used, gints are passed in. I renamed SWAP to SWAP_INT to reflect
that it is not so generic.
Original commit message from CVS:
Corrected the configure.ac so it actually works. Updated some c files
so that they build on Solaris. This mostly involved supporting ISO
style variable-argument macros.
Original commit message from CVS:
Updated autogen.sh/configure.ac and various Makefiles to make the
configure script set up all gcc specific compiler arguments, rather
than hardcoding them in the Makefile.am files
Original commit message from CVS:
Fix typo (incorrect pointer dereference). Change the magic number
for little-endian streams to match with /etc/magic.
Original commit message from CVS:
bugfixes:
- seek correctly on SEEK_METHOD_END
- don't emit a warning when mp3's in wav's have no width information
- use BYTES format on discontinuous events and omit timestamp when invalid (mp3 anyone?)
Original commit message from CVS:
fixes to wavparse:
- endianness is G_LITTLE_ENDIAN and not G_BYTE_ORDER
- support the law formats
- error out on unknown format, don't try to go on (fixes#110516)
- check buffer size before typefinding
Original commit message from CVS:
- new avi demuxer doesn't use a recursive infinite loop anymore
- removed temporary riff.[ch] files
- removed aviparse from build
Original commit message from CVS:
Handle JUNK and dmlh tags and when we find a broken/unknown chunk, just move to the next byte and try to see if it's a known chunk
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
Original commit message from CVS:
(1) Caps nego are now dynamic, the Application developer now have choices: udp, tcp & none.
(2) Broadcast flag set to true on all the udp sockets.
Original commit message from CVS:
Make it loopbased and use only one video and one audio pad. framerate is also no longer a property but is requested from the source pad
Original commit message from CVS:
- reimplemented using organic masks, rendered with gouraud shaded triangles
- implemented more masks
- implemented adjustable border
Original commit message from CVS:
qtdemux.c:315: warning: implicit declaration of function `free'
qtdemux.c:331: warning: implicit declaration of function `malloc'
Original commit message from CVS:
Separate the movi processing loop from the index/entry parsing loop
Detect when the index starts from 0 or from the movi chunck offset
Original commit message from CVS:
add ranks only for plugins who participate in autoplugging. If you have a file that used to autoplug but doesn't anymore, then let me know or add a rank to the missing element.
Original commit message from CVS:
- Changed plugins for new APIs
- modularized audiofile.
- added seeking, query and convert functions for mad, mpeg2dec,
avidemux, mpegdemux, mpegparse
- sync updates to oss. removed the ossclock for now
Original commit message from CVS:
adding new quicktime parser:
- openquicktime free (hense gst/qtdemux)
- no more seeks for parsing -> better for network streams
- uses GstByteStream
- less memcpy's
- long ChangeLog record in pompous style
Original commit message from CVS:
use audio/x-wav instead of audio/wav. I don't know if we have a policy of matching GStreamer types with official mime types, but I figure it can't hurt.
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
Original commit message from CVS:
fixed rest of warning for gcc 3 in /gst.
fixed some Makefiles: s/-m486/-mcpu=i486/
disabled mpegaudioparse plugin. What good is this rotten code for anyway?
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/
@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
Original commit message from CVS:
WARNING: avimux is still broken, but less broken than it used to be... Code is under heavy development and will work sooner or later... Uploaded for generic development and testing purposes, not intended for generic use whatsoever
Original commit message from CVS:
made changes everywhere to accomodate for the headers being in
<gst/(lib)/...>
we'll need to conclude this fast because we will also need to change stuff in core real soon for the libs in order to fix everything
and I can't do it right now because I disabled all of the plugins here ;)