Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type),
(gst_multifdsink_class_init), (gst_multifdsink_add),
(gst_multifdsink_remove), (gst_multifdsink_clear),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_client_queue_data),
(gst_multifdsink_client_queue_caps),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients), (gst_multifdsink_thread),
(gst_multifdsink_init_send), (gst_multifdsink_close):
Fix wrong GList iteration that could crash the server when
more then 2 clients disconnect at the same time. Read all the
pending commands in one batch to recover from command storms under
very heavy load.
Original commit message from CVS:
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init),
(gst_tcpserversink_init), (gst_tcpserversink_handle_server_read),
(gst_tcpserversink_client_remove),
(gst_tcpserversink_handle_client_read),
(gst_tcpserversink_client_queue_data),
(gst_tcpserversink_client_queue_caps),
(gst_tcpserversink_client_queue_buffer),
(gst_tcpserversink_handle_client_write),
(gst_tcpserversink_queue_buffer),
(gst_tcpserversink_handle_clients), (gst_tcpserversink_thread),
(gst_tcpserversink_chain), (gst_tcpserversink_set_property),
(gst_tcpserversink_get_property), (gst_tcpserversink_init_send),
(gst_tcpserversink_close):
* gst/tcp/gsttcpserversink.h:
Serversink rewrite. Really do non blocking writes to clients and
maintain an internal queue to handle slower clients while not
disturbing fast clients.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audiorate_link),
(gst_audiorate_init), (gst_audiorate_chain),
(gst_audiorate_set_property), (gst_audiorate_get_property):
* gst/videorate/gstvideorate.c: (gst_videorate_class_init),
(gst_videorate_chain):
Added some logging, fixed an overflow bug in videorate.
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/play/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/tcp/Makefile.am:
* sys/dxr3/Makefile.am:
don't include -enumtypes.[ch] or -marshal.[ch] files in the disted
tarball.
Also add all *.list files that were missing.
* Makefile.am:
add a distcheck hook to ensure the above doesn't happen again.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_videorate_class_init),
(gst_videorate_init), (gst_videorate_chain),
(gst_videorate_set_property), (gst_videorate_get_property):
Add property to make videorate silent.
Add property to prefer new frames over old ones.
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/ffmpegcolorspace/imgconvert.c: (img_convert):
Patch 1.3 broke the ordering of the colorspace info and
made the plugin basically work by coincidence, reodered
the info.
Original commit message from CVS:
2004-06-12 Christophe Fergeau <teuf@gnome.org>
* gst/tags/gstvorbistag.c: replaced a g_warning which I added in my
previous commit with GST_DEBUG
Original commit message from CVS:
2004-06-12 Zaheer Abbas Merali <zaheerabbas@merali.org>
* gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init_send):
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init_receive):
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init),
(gst_tcpserversink_handle_server_read),
(gst_tcpserversink_init_send):
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive):
* gst/tcp/gsttcpserversrc.h:
Modified the tcp plugins so they are portable (IPv4,IPv6, any future
version of IP)
Original commit message from CVS:
2004-06-10 Christophe Fergeau <teuf@gnome.org>
* gst/tags/gstvorbistag.c: (gst_vorbis_tag_add): make sure parsed
vorbis comments are properly encoded in UTF-8 before adding them
to a GstTagList
Original commit message from CVS:
reviewed by Benjamin Otte <otte@gnome.org>
* gst/adder/gstadder.c: (gst_adder_loop):
properly error out when no negotiation has happened yet. (fixes
#143032)
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: that's
G_HAVE_GNUC_VARARGS, not G_HAVE_GNU_VARARGS. Should fix compile
problems on several systems.
Original commit message from CVS:
* gst/tcp/gsttcp.c: portability (Solaris 10/FreeBSD)
* gst/tcp/gsttcpclientsrc.h: idem
- define MSG_NOSIGNAL if not done
- include unistd.h for off_t
(fixes#143749)
patch by Andrew Turner <zxombie@hotpop.com>
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
fixate nicely even when the peer is not negotiating
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps):
make sure we don't allow depth > width
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_fixate):
fixate endianness to G_BYTE_ORDER as default
* gst/audioscale/gstaudioscale.c:
we don't handle another endianness as host-endianness
Original commit message from CVS:
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_sinkconnect),
(gst_oggvorbisenc_setup):
properly fail when we can't setup the vorbis encoder due to
unsupported settings
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sinkconnect),
(gst_vorbisenc_setup):
same
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
fix case where warnings occured when one pad was unlinked while the
other's link function was called
Original commit message from CVS:
* gst/videoscale/videoscale.c: (gst_videoscale_scale_nearest),
(gst_videoscale_scale_nearest_str2),
(gst_videoscale_scale_nearest_str4),
(gst_videoscale_scale_nearest_32bit),
(gst_videoscale_scale_nearest_24bit),
(gst_videoscale_scale_nearest_16bit):
Fix the scaling algorithm and avoid a buffer overflow.
removed the while loop in the scaling function as it
was used for point sampling only.
Original commit message from CVS:
- change sunaudio category to Sink/Audio
- change HAVE_FIONREAD macro to GST_CHECK_FIONREAD
- add conditional include for FIONREAD ioctl on more files
Original commit message from CVS:
* gst/ffmpegcolorspace/imgconvert.c: (img_convert): Fixes for
warnings (bugs, actually) noticed by gcc but not forte.
Original commit message from CVS:
* configure.ac: Add sunaudio
* examples/Makefile.am: make gstplay depend on gconf
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: Remove c99-isms
* gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette),
(convert_table_lookup), (img_convert): remove c99-isms
* gst/ffmpegcolorspace/imgconvert_template.h: make a constant
unsigned, to fix a warning on Solaris
* gst/mpeg1sys/systems.c: bcopy->memcpy
* gst/rtjpeg/RTjpeg.c: (RTjpeg_yuvrgb8): bcopy->memcpy
* sys/Makefile.am: Add sunaudio
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/mad/gstid3tag.c: (gst_id3_tag_init):
remove leftover g_print
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
don't try setting only a subset of the caps. We don't want to kill
autoplugging on purpose
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:
* ext/gnomevfs/gstgnomevfssink.c:
(_gst_boolean_allow_overwrite_accumulator),
(gst_gnomevfssink_class_init):
fix erase signal - if any handler returns false the file will not be
overwritten. If no handler is connected, the file will not be
overwritten either.
renamed signal to "allow-overwrite"
* ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach):
free string when adding it to ID3 failed
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
unref event when done
* gst/audioconvert/gstaudioconvert.c: (_fixate_caps_to_int):
free caps
* gst/typefind/gsttypefindfunctions.c:
(mpeg_video_stream_type_find):
fix invalid read
Original commit message from CVS:
2004-04-09 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/bufferframesconvert.c: New element to convert
buffer-frames for float streams. Not working nicely yet.
* gst/audioconvert/plugin.h:
* gst/audioconvert/plugin.c: New files.
* gst/audioconvert/Makefile.am: Build the new files.
* gst/audioconvert/gstaudioconvert.c: Initialize via plugin.[ch].
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/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:
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/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:
* 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:
* 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/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:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_channels):
convert channels correctly. convert correctly to unsigned.
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:
2004-02-25 Andy Wingo <wingo@pobox.com>
* gst/interleave/interleave.c (interleave_buffered_loop): Always
push only when channel->buffer is NULL. Prevents segfaults doing
the state change after a nonlocal exit, like a scheme exception.
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps):
Handle the case where the intersected caps is empty.
Original commit message from CVS:
2004-02-22 Benjamin Otte <otte@gnome.org>
reported by: Stefan Kost <kost@imn.htwk-leipzig.de>
* gst/audioconvert/gstaudioconvert.c: (plugin_init):
set rank to PRIMARY
* gst/volume/gstvolume.c: (plugin_init):
set rank to NONE
fixes#134960
2004-02-22 Julio M. Merino Vidal <jmmv@menta.net>
reviewed by Benjamin Otte <otte@gnome.org>
* ext/flac/gstflacenc.c: (gst_flacenc_chain):
escape NULL strings in GST_ELEMENT_ERROR properly (fixes#135116)
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:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init): Disable gdk_pixbuf
typefinding, since it seems to be worse than nothing.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add ftyp
atom to recognize .mp4 and .m4a files as video/quicktime.
Original commit message from CVS:
* gst/sine/demo-dparams.c: (quit_live),
(dynparm_log_value_changed), (dynparm_value_changed), (main):
Use double dparams, not float.
* gst/sine/gstsinesrc.c: (gst_sinesrc_class_init),
(gst_sinesrc_init): Change sync default to FALSE, since multiple
sync'd elements don't really work correctly.
* gst/volume/gstvolume.c: (volume_class_init), (volume_init),
(volume_update_volume), (volume_get_property): Change dparam
to double.
Original commit message from CVS:
* gst/sine/demo-dparams.c: (dynparm_log_value_changed),
(dynparm_value_changed), (main): Convert from float to double.
* gst/sine/gstsinesrc.c: (gst_sinesrc_init): same.
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-04 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/sine/gstsinesrc.c: (gst_sinesrc_class_init),
(gst_sinesrc_dispose):
fix memleak by properly disposing sinesrc
Original commit message from CVS:
2004-02-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init):
* gst/typefind/gsttypefindfunctions.c:
fix memleaks shown by gst-typefind
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-02-02 Jeremy Simon <jesimon@libertysurf.fr>
* gst/tags/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Add replaygain support to vorbistag
Original commit message from CVS:
2004-01-31 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/theora/theoradec.c: (theora_dec_chain):
make comments work
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_chain):
add encoder tag, fix tag reading to be more error tolerant, change
BITRATE to NOMINAL_BITRATE, add debugging, don't unref events after
gst_pad_event_default.
* gst/tags/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer):
undefine function specific define at end of function
Original commit message from CVS:
2004-01-29 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/ogg/gstoggdemux.c:
lots of changes - mainly support for chained bitstreams, seeking,
querying and bugfixes of course
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisdec.h:
add vorbisdec raw vorbis decoder
* ext/vorbis/vorbis.c: (plugin_init):
register vorbisdec as PRIMARY, vorbisfile as SECONDARY
* gst/intfloat/Makefile.am:
* gst/intfloat/float22int.c:
* gst/intfloat/float22int.h:
* gst/intfloat/gstintfloatconvert.c: (plugin_init):
add float2intnew plugin. It converts multichannel interleaved float to
multichannel interleaved int. The name should probably be changed.
* gst/typefind/gsttypefindfunctions.c: (theora_type_find),
(plugin_init):
add typefinding for raw theora video so oggdemux can detect it.
Original commit message from CVS:
2004-01-28 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video
sink element first.
* gst/videoscale/gstvideoscale.c:
(gst_videoscale_handle_src_event): Fixing src event handler.
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-26 Julien MOUTTE <julien@moutte.net>
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Dunno how
that one managed to stay there... Fixed.
Original commit message from CVS:
2004-01-26 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst-libs/gst/audio/audio.h:
remove buffer-frames from audio caps
* gst/audioconvert/gstaudioconvert.c:
fix plugin to really work.
Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
Additional pad usability check.
* gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init),
(mp1videoparse_find_next_gop), (gst_mp1videoparse_time_code),
(gst_mp1videoparse_real_chain):
Fix MPEG video stream parsing. The original plugin had several
issues, including not timestamping streams where the source was
not timestamped (this happens with PTS values in mpeg system
streams, but MPEG video is also a valid stream on its own so
that needs timestamps too). We use the display time code for that
for now. Also, if one incoming buffer contains multiple valid
frames, we push them all on correctly now, including proper EOS
handling. Lastly, several potential segfaults were fixed, and we
properly sync on new sequence/gop headers to include them in next,
not previous frames (since they're header for the next frame, not
the previous). Also see #119206.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain),
(bpf_from_header):
Move caps setting so we only do it after finding several valid
MPEG-1 fraes sequentially, not right after the first one (which
might be coincidental).
* gst/typefind/gsttypefindfunctions.c: (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(plugin_init):
Add unsynced MPEG video stream typefinding, and change some
probability values so we detect streams rightly. The idea is as
follows: I can have an unsynced system stream which contains
video. In the current code, I would randomly get a type for either
system or video stream type found, because the probabilities are
being calculated rather randomly. I now use fixed values, so we
always prefer system stream if that was found (and that is how it
should be). If no system stream was found, we can still identity
the stream as video-only.
Original commit message from CVS:
2004-01-23 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
Fix typefinding for MPEG-1 system streams, similar to MPEG-2.
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 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-15 Julien MOUTTE <julien@moutte.net>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init): Setting
mixer interface type to HARDWARE.
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): Adding a default
type to SOFTWARE.
* gst-libs/gst/mixer/mixer.h: Adding mixer interface type and macro.
* gst-libs/gst/mixer/mixertrack.h: Adding mixertrack flag SOFTWARE.
* gst/volume/gstvolume.c: (gst_volume_interface_supported),
(gst_volume_interface_init), (gst_volume_list_tracks),
(gst_volume_set_volume), (gst_volume_get_volume),
(gst_volume_set_mute), (gst_volume_mixer_init),
(gst_volume_dispose), (gst_volume_get_type), (volume_class_init),
(volume_init): Implementing mixer interface.
* gst/volume/gstvolume.h: Adding tracklist for mixer interface.
* sys/oss/gstosselement.c: (gst_osselement_get_type),
(gst_osselement_change_state): Removing some trailing commas in
structures.
* sys/oss/gstossmixer.c: (gst_ossmixer_interface_init): Setting mixer
interface type to HARDWARE.
* sys/v4l/gstv4lcolorbalance.c:
(gst_v4l_color_balance_interface_init): Setting colorbalance interface
type to HARDWARE.
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_interface_init): Setting colorbalance
interface type to HARDWARE.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use exactly the
same code than ximagesink for event handling.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/typefind/gsttypefindfunctions.c: (matroska_type_find),
(plugin_init):
Improve matroska typefinding for odd-typed headers...