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:
* sys/oss/gstosselement.c: (gst_osselement_probe_caps),
(gst_osselement_rate_check_rate):
probe caps correctly for sound cards that only support one format
Original commit message from CVS:
* ext/hermes/gsthermescolorspace.c: (plugin_init): decrease rank
by 2 to not interfere with other colorspaces.
* ext/pango/gsttextoverlay.c: (plugin_init): change rank to NONE
* gst/colorspace/gstcolorspace.c: (plugin_init): decrease rank by
one to not interfere with ffmpeg_colorspace.
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/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead),
(gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes):
get rid of non-standard "..." ranges in case statements.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c:
* gst/mpegstream/gstmpegdemux.h: Complete overhaul. All DVD
specific functionality split to the new dvddemux element.
* gst/mpegstream/gstdvddemux.c:
* gst/mpegstream/gstdvddemux.h: New demultiplexer for DVD (VOB)
streams, derived from mpegdemux.
* gst/mpegstream/gstmpegparse.c: Discontinuity handling cleaned
up. SCR based timestamp rewriting can be turned off (will probably
completely disappear soon).
* ext/dvdnav/dvdnavsrc.c: Changes resulting from a few months
hacking. General cleanup. All printf statements replaced by
debugging messages. Almost complete libdvdnav support.
(dvdnavsrc_class_init): Got rid of unnecessary signals (replaced
by events. New properties for audio and subpicture languages.
(dvdnavsrc_update_highlight): Now uses events.
(dvdnavsrc_user_op): Cleaned up.
(dvdnavsrc_get): Renamed to dvdnavsrc_loop (element is now loop
based). Lots of cleanup, and propper support for most libdvdnav
events.
(dvdnavsrc_make_dvd_event): New function.
(dvdnavsrc_make_dvd_nav_packet_event): New function.
(dvdnavsrc_make_clut_change_event): New function.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (theora_type_find):
fix bug where typefinding would claim it's theora whenever less then
7 bytes of data were available
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:
* ext/speex/gstspeexdec.c: (gst_speexdec_base_init),
(gst_speexdec_init):
* ext/speex/gstspeexenc.c: (gst_speexenc_base_init),
(gst_speexenc_init): Create the pad template correctly (from
the static pad template, not a NULL pointer.)
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:
2004-03-23 Jeremy Simon <jesimon@libertysurf.fr>
* gst/typefind/gsttypefindfunctions.c: (ape_type_find),
(plugin_init):
Add a monkeysaudio typefind function
Original commit message from CVS:
* gst-libs/gst/play/play.c (gst_play_audio_fixate)
(gst_play_video_fixate): Check so the structure has the field
before trying to fixate them, this makes it possible to have
fakesinks for video and audio output without printing errors on
the output console.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link),
(_fixate_caps_to_int), (gst_audio_convert_fixate):
add a fixation function that pretty much does the right thing (fixes
#137556)
Original commit message from CVS:
reviewed by: Benjamin Otte <otte@gnome.org>
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
terminate gst_event_new_discontinuous correctly (fixes parts of
#137711)
Original commit message from CVS:
2004-03-15 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/play/play.c: (gst_play_get_framerate),
(gst_play_get_sink_element): First draft of gst_play_get_framerate.
* gst-libs/gst/play/play.h:
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_property),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.c:
Don't open the device if we're a mixer (= padless).
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_class_init),
(gst_alsa_mixer_init), (gst_alsa_mixer_open),
(gst_alsa_mixer_close), (gst_alsa_mixer_change_state):
Open mixer during state change rather than during object
initialization. Also, get a device name. Currently in a somewhat
hackish fashion, but I didn't really find something better.
Original commit message from CVS:
* gst/modplug/gstmodplug.cc:
handle events - don't do crap when a discont arrives that's not
necessary
This allows correct loading and playback of mods in Rhythmbox
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/gconf/Makefile.am:
* pkgconfig/Makefile.am:
move gstreamer-gconf pkgconfig files to pkgconfig/ dir. Make sure
they get rebuilt properly
* configure.ac:
when checking for vorbis, try pkgconfig first.
* gst/modplug/gstmodplug.cc:
add fixate function
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:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_video_caps),
(gst_asf_demux_setup_pad):
Use 25fps as our "fake" fps value (marked for fixage in 0.9.x)
instead of 0. Reason is simple: some elements have a fps range
of 1-max instead of 0-max. So now ASF video actually works.
Original commit message from CVS:
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
return taglist correctly from _get function, don't gst_pad_push it.
(fixes#137042)
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_free_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init),
(gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
Fix ancient leftovers... MixerTrack is a GObject.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices):
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Don't block during probing...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_type), (gst_alsa_class_init),
(gst_alsa_get_property), (gst_alsa_probe_get_properties),
(gst_alsa_class_probe_devices), (gst_alsa_class_list_devices),
(gst_alsa_probe_probe_property), (gst_alsa_probe_needs_probe),
(gst_alsa_probe_get_values), (gst_alsa_probe_interface_init),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.h:
Add propertyprobe interface implementation, add some device-name
property, all this so that it looks good in gnome-volume-control.
Original commit message from CVS:
* configure.ac: the Hermes library controls hermescolorspace, not
colorspace.
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
(gst_mpeg2dec_init): minor pet peeve: disable code with #ifdef,
not /* */
* ext/sdl/sdlvideosink.c: Change XID to unsigned long.
* ext/sdl/sdlvideosink.h: ditto.
* gst/colorspace/gstcolorspace.c: Fix old comments about Hermes
Original commit message from CVS:
* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_set_xwindow_id),
(gst_x_overlay_got_xwindow_id):
* gst-libs/gst/xoverlay/xoverlay.h:
replace XID with unsigned long to get rid of the xlibs dependency in
XOverlay (fixes#137004)
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:
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_get_time),
(gst_osssink_chain), (gst_osssink_change_state):
Latest fixes for A/V sync, audio playback and such. This is about
all... MPEG playback issues are mostly related to the async build-
up of MPEG files, I cannot fix that. Use basicgthread to solve it.
Original commit message from CVS:
* ext/divx/gstdivxdec.c:
Downgrade priority. We prefer ffdec_mpeg4.
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps), (gst_faad_srcconnect),
(gst_faad_chain), (gst_faad_change_state):
Fix capsnego. Doesn't work for some sounds because we don't have
a 5:1 to stereo element.
* ext/xvid/gstxvid.c: (plugin_init):
Add priority.
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
Add discont handling.
Original commit message from CVS:
* ext/mikmod/gstmikmod.c: (gst_mikmod_init), (gst_mikmod_loop),
(gst_mikmod_change_state):
* ext/mikmod/gstmikmod.h:
make mikmod's loop function not loop infinitely and call
gst_element_yield anymore
* gst/modplug/gstmodplug.cc:
fix pad negotiation
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:
* sys/oss/gstosssink.c: (gst_osssink_chain):
And another caller that couldn't handle delay < 0 (unsigned
integer overflow). Video now continues playing on an audio
buffer underrun, and the clock continues working. Audio still
stalls.
Original commit message from CVS:
* sys/oss/gstosssink.c: (gst_osssink_get_delay),
(gst_osssink_get_time):
get_delay() may return values lower than 0. In those cases, we
should not actually cast to *unsigned* int64, that will break
stuff horribly. In my case, it screwed up A/V sync in movies
in totem rather badly.
Original commit message from CVS:
2004-03-06 Christophe Fergeau <teuf@gnome.org>
* ext/faac/gstfaac.c: (gst_faac_chain):
* ext/flac/gstflactag.c: (gst_flac_tag_chain):
* ext/libpng/gstpngenc.c: (user_write_data):
* ext/mikmod/gstmikmod.c: (gst_mikmod_loop):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_chain_subtitle):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice):
Fix several misuse of gst_buffer_merge (it doesn't take ownership
of any buffer), should fix some leaks. I hope I didn't unref buffers
that shouldn't be...
Original commit message from CVS:
2004-03-06 Christophe Fergeau <teuf@gnome.org>
* ext/mad/gstmad.c: (gst_mad_chain): send the average bitrate read
from the xing header
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_getcaps),
(gst_audio_convert_link), (gst_audio_convert_change_state),
(gst_audio_convert_buffer_from_default_format):
do conversions from/to float correctly, fix some caps nego errors,
export correct supported caps in template and getcaps, use correct
caps in try_set_caps functions
Original commit message from CVS:
2004-03-06 Christophe Fergeau <teuf@gnome.org>
For some reason, I only committed a ChangeLog entry yesterday and
not the corresponding code...
* ext/mad/gstmad.c: Fix detection of Xing headers
* gst/tags/gstid3tag.c: Changes to support TLEN tags
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_get_pad_by_pad),
(gst_ogg_demux_src_query):
make sure to handle the case where there's no current chain
gracefully.
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:
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice):
Fix code that ignores return value of gst_buffer_merge().
(bug #114560)
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_segment):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): same
* testsuite/gst-lint: Check for above.
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:
2004-03-06 Christophe Fergeau <teuf@users.sourceforge.net>
* ext/mad/gstmad.c: Fix detection of Xing headers
* gst/tags/gstid3tag.c: Changes to support TLEN tags
Original commit message from CVS:
2004-03-06 Christophe Fergeau <teuf@gnome.org>
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
* ext/mad/gstmad.c: (gst_mad_init), (is_xhead),
(mpg123_parse_xing_header), (gst_mad_chain): parse Xing header in vbr
files, and report the parsed length as a GST_TAG_DURATION tag.
* gst/tags/gstid3tag.c: support TLEN (duration) tag
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_channels):
convert channels correctly. convert correctly to unsigned.
Original commit message from CVS:
2004-03-05 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state): Check if
we have a window before clearing it.
Original commit message from CVS:
2004-03-05 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_change_state): Check if we
have a window before clearing it.
Original commit message from CVS:
* examples/gstplay/player.c: (main):
Initialize variables to NULL. Prevents a segfault because the
(uninitialized) variable is not NULL, resulting in a crash on
trying to reach error->message.
Original commit message from CVS:
2004-03-05 Benjamin Otte <otte@gnome.org>
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_buffer_to_default_format):
make float=>int conversion work correctly even in cornercases.
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:
2004-03-03 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/gconf/gconf.c: (gst_gconf_get_default_video_sink):
Using ximagesink as a default if no gconf key found. We should
probably consider using alsasink instead of osssink for the audio
part.
Original commit message from CVS:
* ext/sdl/sdlvideosink.h:
* sys/ximage/ximagesink.h:
* sys/xvideo/xvideosink.h:
* sys/xvimage/xvimagesink.h:
Fix for move of gstvideosink.h -> videosink.h.
Original commit message from CVS:
2004-02-29 Christophe Fergeau <teuf@gnome.org>
* sys/oss/gstosselement.c: (gst_osselement_probe),
(device_combination_append), (gst_osselement_class_probe_devices):
* sys/oss/gstosselement.h:
Reworked enumeration of oss dsps and mixers so that gst-mixer works
on my system using alsa oss emulation, fixes bug #135597
Original commit message from CVS:
* gst/videodrop/gstvideodrop.c: (gst_videodrop_init),
(gst_videodrop_chain), (gst_videodrop_change_state):
* gst/videodrop/gstvideodrop.h:
Work based on timestamp of input data, not based on the expected
framerate from the input. The consequence is that this element now
not only scales framerates, but also functions as a framerate
corrector or framerate stabilizer/constantizer.
Original commit message from CVS:
2004-02-27 Benjamin Otte <otte@gnome.org>
* gst-libs/gst/audio/audio.h:
add macro to make sure header isn't included twice
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
don't use gst_buffer_free
* gst/playondemand/filter.func:
don't usae gst_data_free. Free data only once.
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.