Original commit message from CVS:
Patch by: Michael Dominic K. < mdk at mdk org pl>
* ext/mad/gstmad.c: (gst_mad_chain):
Send newsegment event before calling
gst_pad_alloc_buffer_and_set_caps(), makes mad behave better
in connection with pad blocking (#342594). While we're at it,
do some minor clean-ups.
Original commit message from CVS:
Patch by: Lutz Müller <lutz at topfrose de>
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query):
Make mad the second element to support the highly useful
FORMATS query (#340594)
Original commit message from CVS:
* ext/mad/gstid3tag.c:
* ext/mad/gstmad.c:
* gst/ac3parse/gstac3parse.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/synaesthesia/gstsynaesthesia.c:
Define GstElementDetails as const and also static (when defined as
global)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_convert_src),
(gst_mad_src_query), (gst_mad_chain):
.. and DEFAULT queries should work too. Use magic gst util scale
functions in some places.
Original commit message from CVS:
* ext/mad/gstmad.c: (index_seek):
move GstIndexEntry *entry variable declaration before
the first instruction
* ext/mad/gstmad.c:
remove debug macros with variable number of parameter by using
GST_DEBUG for WIN32
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_sync_stream_to_time):
replace __FUNCTION__ which is not supported by MSVC by the current function name
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_reset):
remove LL suffix by using G_GINT64_CONSTANT
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_parse_packhead),(gst_mpeg_parse_get_rate):
use gst_guint64_to_gdouble for conversions
* gst/mpegstream/gstmpegparse.h:
remove LL suffix by using G_GINT64_CONSTANT
* win32/vs6:
add project files for tagac3parse, asfdemux, dvdlpcmdec, dvdsub, iec958, lame,
mad, mpegaudioparse, mpegstream, realmedia, synaesthesia
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_sink), (gst_mad_update_info),
(gst_mad_sink_event), (gst_mad_change_state):
Include AUDIO_CODEC tag with tags posted if input is not
framed (#334258). Use _scale() util functions in more places.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (scale), (gst_mad_update_info),
(gst_mad_sink_event), (gst_mad_check_caps_reset), (gst_mad_chain),
(gst_mad_change_state):
Port fixes for bugs 314771, 308772, 140237, and 302625
from 0.8 (Patch by Jonathan Matthew, Fixes#329575)
Use GST_EVENT_FLUSH_STOP to clear data from the current input
buffer, to avoid using it for any future decoding.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query):
* ext/sidplay/gstsiddec.cc:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
* gst/realmedia/rmdemux.c: (gst_rmdemux_src_query):
Pass unhandled queries upstream (useful e.g. for SEEKING query)
(fixes#325652; based on patch by: Philippe); make rmdemux return
FALSE for position queries, instead of setting -1 as value and
returning TRUE.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Don't forget that we need to send out a newsegment event after a
restart even if we don't have enough data to decode a frame right
now.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind),
(gst_id3_tag_do_caps_nego), (gst_id3_tag_chain), (plugin_init):
Fix typefinding in id3demux, and then remove it in favour
of the new LGPL id3demux in gst-plugins-good
* ext/mad/gstmad.c: (gst_mad_dispose):
dispose can run more than once.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query):
For position and duration queries in TIME format, try the peer
first (might be a demuxer).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Proper warning statements,
Don't error if the src pad isn't linked when pushing.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_change_state):
Proper state_change, avoids borkage when going to READY
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
When pad_alloc returns other-than-GST_FLOW_OK and mad exits early,
skip frame synthesis and consume input data as if we'd done the
decode. Makes mad not error when the src pad is not connected.
(#319784)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Fix seeking even more by sending the newsegment event with the
right parameters. Should fix querying in playbin/totem after
a seek.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_mode_get_type), (gst_mad_src_query),
(normal_seek), (gst_mad_sink_event), (gst_mad_chain):
Fix seeking in stand-alone mode. Fix nonexistant enum value
introduced in previous commit. Improve debug messages here and
there. Actually return a proper return value in the sink event
handler.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c:
Mark invalid frame sizes
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
UNUSABLE is not to be used here, just push out stuff so
probes can continue linking or making the pad usable.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_chain):
It'd be nice if I could listen to my mp3 files, so send out an
initial discont, as the sink apparently wants.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_event):
First try forwarding events, makes seeking in AVI files with mp3
audio work again.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
Original commit message from CVS:
2005-07-01 Jan Schmidt <thaytan@mad.scientist.com>
* ext/libcaca/Makefile.am:
* ext/mad/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query),
(gst_id3_tag_src_event), (gst_id3_tag_sink_event),
(gst_id3_tag_chain), (plugin_init):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
Signedness warning fix, use gst_pad_get_peer instead of GST_PAD_PEER
in querying and event handling, because we're not holding the pad
lock and the peer may disappear.
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
Signedness warning fixes.
* gst/videofilter/gstvideotemplate.c: (plugin_init):
Remove gst_library_load
Original commit message from CVS:
* gst/avi/Makefile.am: (libgstavi_la_LIBADD):
Added linking to libgstriff-0.9
* ext/mad/gstmad.c: (gst_mad_src_query):
check the format of the upstream query and return query if it's the
same format as the requested one.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_src_link):
* ext/mad/gstmad.c: (gst_mad_chain):
RPAD_ -> PAD
Fix args in bufferalloc function call.
Makes the mad plugin compile again
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain), (gst_mad_change_state):
* ext/sidplay/gstsiddec.cc:
* gst/alpha/gstalpha.c: (gst_alpha_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
No need to take the lock anymore, core already did
that before calling us.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_init), (gst_mad_src_query),
(index_seek), (normal_seek), (gst_mad_sink_event):
Port to new query API and replace gst_pad_convert()
and gst_pad_get_formats() usage. gstid3tag looks like
it needs some more love before it will work again, if
not a rewrite.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_src_event):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Allow seeks on audio pad, make mad forward those (#164826).
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Set duration (#165335).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
- on half framerate, compute the rate in advance so the comparisons
don't compare wrong values
- don't use mad_synth/frame_mute anymore, this mirrors mad_decoder
behaviour
- don't use mad_header_decode anymore, mad_frame_decode does that
automatically
- when getting rid of consumed bytes, reset the stream's skiplen
(fixes#163867)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Fail if caps negotiation fails. Should fix#162184, and should
definately be in there regardless of it fixing the actual bug.
* gst/avi/gstavimux.c: (gst_avimux_get_type), (gst_avimux_init),
(gst_avimux_write_tag), (gst_avimux_riff_get_avi_header),
(gst_avimux_riff_get_avix_header),
(gst_avimux_riff_get_video_header),
(gst_avimux_riff_get_audio_header), (gst_avimux_write_index),
(gst_avimux_start_file), (gst_avimux_handle_event),
(gst_avimux_change_state):
* gst/avi/gstavimux.h:
Refactor structure writing to use GST_WRITE_UINT macros, add
metadata writing support.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_chain):
Don't call mad_stream_sync() directly after recovering sync.
Fixes#151661.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Decoding the header first fixes some problems in resyncing
in more mp3s.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset),
(gst_mad_change_state):
Allow for mp3 rate/channels changes. However, only very
conservatively. Reason that we *have* to enable this is smiply
because the mad find_sync() function is not good enough, it will
regularly sync on random data as valid frames and therefore make
us provide random caps as *final* caps of the stream. The best fix
I could think of is to simply require several of the same stream
changes in a row before we change caps.
The actual testcase that works now is #
* ext/ogg/Makefile.am:
* ext/ogg/gstogg.c: (plugin_init):
* ext/ogg/gstogmparse.c:
OGM support (video only for now; I need an audio sample file).
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_process_stream), (gst_asf_demux_video_caps),
(gst_asf_demux_add_video_stream):
WMV extradata.
* gst/playback/gstplaybasebin.c: (unknown_type):
Don't error out on single unknown-types after all. It's wrong.
If we found type of video and audio but not of a subtitle stream,
it will still error out (which is unwanted). Will find a better fix
later on.
* gst/typefind/gsttypefindfunctions.c: (ogmvideo_type_find),
(ogmaudio_type_find), (plugin_init):
OGM support.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_samples_to_timestamp):
cast to GstClockTime to get higher granularity
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
use gst_element_set_time_delay to get the exact time
* ext/mad/gstmad.c: (gst_mad_chain):
use the negotiated rate instead of the current frame's rate which
might be wrong because of bit errors. This avoids emitting totally
bogus timestamps and screwing sync.
(fixes#143454)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_handle_event):
Fix for when the first format in a discont event is not a
byte-based one. Should fix#137710.
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:
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:
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:
2004-02-20 Andy Wingo <wingo@pobox.com>
* gst/intfloat/, gst/oneton: Removed, replaced by audioconvert and
interleave respectively.
* gst/interleave/deinterleave.c: New plugin: deinterleave
(replaces on oneton).
* gst/interleave/interleave.c: New plugin: interleave.
* gst/interleave/plugin.h: Support file.
* gst/interleave/plugin.c: Support file.
* configure.ac: Remove intfloat and oneton, add interleave.
* ext/sndfile/gstsf.c: Handle events better.
* gst/audioconvert/gstaudioconvert.c: Change to support int2float
and float2int operation. int2float has scheduling problems as
noted in in2float_chain.
Original commit message from CVS:
rework id3tag plugin to work as
a) parser - just strip id3 tags
b) tag reader - extract tags and go EOS
c) tag writer - change id3 tags
Included is some revamping to ease code to make it possible to strip id3tag from its mad dependency (without ID3v2 support), which would still make the parsing bits work. This is however not done yet.
This plugin supercedes the id3types plugin.
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:
first bunch of conversions to new plugin_init. Includes libs/gst, gst/id3, sys/oss, ext/gnomevfs, gst/typefind and ext/mad.
You guessed it, everything Rhythmbox needs ;)
fixed BMP typefind and made gnomevfs one plugin instead of two while doing this
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:
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:
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.