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/tcp/gstmultifdsink.c: (gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_clients), (gst_multifdsink_change_state):
Don't close the fd in multifdsink as we didn't open it in the
first place. Some cleanups.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
Fix the case where the muxer would mark pages as delta
frames when they are not (vorbis only ogg).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (state_change), (setup_source),
(gst_play_base_bin_change_state):
Handle the case where we failed to setup a clear pipeline. This
will throw an error (or EOS, another nice case) and if you don't
catch that, the app will wait for the signal forever (and thus
hang).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnomevfssink_uri_get_protocols):
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnomevfssrc_uri_get_protocols):
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
* ext/gnomevfs/gstgnomevfsuri.h:
Use _uri_new() instead of _open(), so it doesn't take as long and
Christophe's computer won't hang.
* gst/playback/gstplaybasebin.c: (unknown_type):
Throw error on unknown media type, so apps actually display it.
Original commit message from CVS:
2004-09-14 Brian Cameron <brian.cameron@sun.com
* tools/gst-launch-ext-m.m: Changed ~ to $ENV{HOME} to allow
this script to work on Solaris since bash shell handles echo
differenly than bash.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_overrun), (no_more_pads),
(setup_source), (gst_play_base_bin_set_property),
(gst_play_base_bin_add_element):
* gst/playback/gstplaybin.c: (gst_play_bin_send_event):
Some more work on making sure seeking pauses the pipeline and
that changing the uri actually does something.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_wait):
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_close):
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init_send),
(gst_tcpserversink_close):
Be a bit more paranoid when freeing memory.
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/playback/gstplaybasebin.c:
(gst_play_base_bin_dispose), (gst_play_base_bin_set_property):
Handle double disposals, and proper change of URIs.
Original commit message from CVS:
* ext/gnomevfs/Makefile.am:
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_get_type),
(gst_gnomevfssink_dispose), (gst_gnomevfssink_init),
(gst_gnomevfssink_uri_get_type),
(gst_gnomevfssink_uri_get_protocols),
(gst_gnomevfssink_uri_get_uri), (gst_gnomevfssink_uri_set_uri),
(gst_gnomevfssink_uri_handler_init),
(gst_gnomevfssink_set_property), (gst_gnomevfssink_get_property),
(gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get_type),
(gst_gnomevfssrc_init), (gst_gnomevfssrc_dispose),
(gst_gnomevfssrc_uri_get_type),
(gst_gnomevfssrc_uri_get_protocols), (gst_gnomevfssrc_uri_get_uri),
(gst_gnomevfssrc_uri_set_uri), (gst_gnomevfssrc_uri_handler_init),
(gst_gnomevfssrc_set_property), (gst_gnomevfssrc_get_property),
(gst_gnomevfssrc_open_file), (gst_gnomevfssrc_close_file):
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
* ext/gnomevfs/gstgnomevfsuri.h:
Add URI support to Gnome-VFS plugins. Tries to load a fixed list
of fake URIs to see which this version of Gnome-VFS likes, and
uses that for the Gst-URI interface. Makes playbin support http://
streams. Also fix up some stupid behaviour in gnomevfssrc.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
Update mixer (to sync with other sessions) if we try to obtain
a new value. This makes alsamixer work accross applications.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
Only call sync functions if we're running, else alsalib asserts.
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
Sometimes fails to compile. Possibly a gcc bug.
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Add a reference to an application-provided object, because we lose
this same reference if we add it to the bin. If we don't do this,
we can only use this object once and thus crash if we go from
ready to playing, back to ready and back to playing again.
Also add an audioscale element because several cheap soundcards -
like mine - don't support all samplerates.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state):
Fix wrong order or PAR calls. Makes automatically obtained PAR
from the X server atually being used.
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:
* sys/glsink/glimagesink.c: (gst_glimagesink_ximage_put),
(gst_glimagesink_xwindow_new), (gst_glimagesink_xcontext_get),
(gst_glimagesink_fixate): Move local variable declarations to
make gcc-2.95 happy.
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:
2004-08-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_init), (gst_lame_chain):
* ext/lame/gstlame.h:
Added new media support to lame
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:
2004-08-24 Sebastien Cote <sc5@hermes.usherb.ca>
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_element_data), (gst_riff_read_seek),
(gst_riff_read_skip): fix infinite loop in wavparse, fixes bug
#144616, patch reviewed by Ronald and committed by Christophe Fergeau
<teuf@gnome.org>
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
Make sure we never send -1 granulepos.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer),
(gst_ogg_mux_loop):
I will accept bitchslappings with non sharp objects.
Original commit message from CVS:
2004-08-19 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* configure.ac:
* ext/lame/Makefile.am:
* ext/lame/gstlame.c: (gst_lame_class_init),
(gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup):
Only enable lame presets if version of lame has presets in API
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:
* gst/tcp/gstfdset.c: (gst_fdset_free), (gst_fdset_set_mode),
(gst_fdset_get_mode), (gst_fdset_add_fd), (gst_fdset_remove_fd),
(gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
* gst/tcp/gstfdset.h:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write):
* gst/tcp/gstmultifdsink.h:
Some extra checks in gstfdset.
Only use send() when the fd is a socket. Don't try to
read from write only fds.
Original commit message from CVS:
* sys/sunaudio/Makefile.am:
* sys/sunaudio/gstsunaudio.c: Fix caps to handle full range
of rates and channels. Make debugging less obnoxious.
Patch from Balamurali Viswanathan implementing a mixer for
Sun audio. (bug #144091):
* sys/sunaudio/gstsunelement.c:
* sys/sunaudio/gstsunelement.h:
* sys/sunaudio/gstsunmixer.c:
* sys/sunaudio/gstsunmixer.h:
Original commit message from CVS:
2004-08-17 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/audioscale/gstaudioscale.c:
* gst/audioscale/gstaudioscale.h:
made audioscale resample from any sample rate to any sample rate
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate),
(gst_ogg_pad_push):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_page),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop):
Mark delta units in the muxer.
Try to decode the packet after an out-of-sync error from
libogg.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_init), (gst_multifdsink_add),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_set_property), (gst_multifdsink_get_property):
* gst/tcp/gstmultifdsink.h:
Added option to send a keyframe to clients as the first buffer.
Make timeout property writable.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (ensure_size), (gst_fdset_new),
(gst_fdset_add_fd), (gst_fdset_remove_fd),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
Make sure the pollfds are not changed when the poll call is
running. Protect against array out of bounds.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_border_mode_get_type),
(gst_theora_enc_class_init), (theora_enc_sink_link),
(theora_buffer_from_packet), (theora_enc_chain):
Fix bug where buffers were not marked as keyframes
correctly.
Original commit message from CVS:
2004-08-15 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_vbrmode_get_type),
(gst_lame_preset_get_type), (gst_lame_class_init):
describe the enum values for vbr mode and presets more verbosely
Original commit message from CVS:
2004-08-13 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_mode_get_type),
(gst_lame_quality_get_type), (gst_lame_padding_get_type),
(gst_lame_preset_get_type), (gst_lame_class_init), (gst_lame_init),
(gst_lame_set_property), (gst_lame_get_property), (gst_lame_setup):
* ext/lame/gstlame.h:
add preset property to lame so it can use lame presets
Original commit message from CVS:
2004-08-13 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_vbrmode_get_type),
(gst_lame_class_init), (gst_lame_src_getcaps),
(gst_lame_sink_link), (gst_lame_init), (gst_lame_set_property),
(gst_lame_get_property), (gst_lame_setup):
* ext/lame/gstlame.h:
fix lame's broken vbr stuff, allow it to resample if need be, and also
make xing header optional
Original commit message from CVS:
2004-08-12 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_src_getcaps), (gst_lame_init):
added getcaps function so samplerate doesntget fixated to silly values
Original commit message from CVS:
2004-08-12 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_src_link):
revert previous fix
Original commit message from CVS:
* sys/v4l/gstv4lelement.c (gst_v4l_iface_supported): Remove bogus
checks. Doesn't matter what state we are in. Interfaces are a
compile time thing, not runtime. It also broke the python bindings.
Original commit message from CVS:
2004-08-12 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_src_link):
made source pad link function check if sinkpad is ok..fixes the problem
where core fixates the output rate of lame stupidly
Original commit message from CVS:
2004-08-12 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/lame/gstlame.c: (gst_lame_class_init), (gst_lame_init):
set default compression ratio paramter to 0.0 so bitrate parameter
works :)
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_unit_type_get_type),
(gst_client_status_get_type), (gst_multifdsink_class_init),
(gst_multifdsink_init), (gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients), (gst_multifdsink_set_property),
(gst_multifdsink_get_property):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcp-marshal.list:
Starting to prepare for specifying buffer time in other units
than buffers. Expose remove reason in signal.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_remove), (gst_multifdsink_clear),
(gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_client_queue_data),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients),
(gst_multifdsink_chain), (gst_multifdsink_close):
* gst/tcp/gstmultifdsink.h:
Added more debugging info. Changed the way clients are
removed from the lists. Fixed a bug where a bad file descriptor
could cause many clients to be removed.
Original commit message from CVS:
Patch from Gernot Ziegler <gz@lysator.liu.se> rewriting the
GL sink plugin. (Bug #147302)
* configure.ac: Test for OpenGL
* sys/Makefile.am: Use test for OpenGL
* sys/glsink/Makefile.am:
* sys/glsink/glimagesink.c: rewrite
* sys/glsink/glimagesink.h: rewrite
Original commit message from CVS:
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_base_init): Only allow
sane framerates.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get): same
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support): same
* testsuite/gst-lint: Test for G_GUINT64_FORMAT usage near gettext.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
Do a bit more logging, make the client_read code more robust.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
Make sure we don't try to read more from a client that what
ioctl says us or we deadlock.
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
(gst_videotestsrc_get_capslist), (generate_capslist),
(plugin_init):
generate the list of supported caps at startup and reuse it instead
of always generating it
Original commit message from CVS:
* gst/audioscale/gstaudioscale.c:
- fix templates to only support S16, it's the only format that works
- make caps nego code use try_set_caps_nonfixed and fixation instead
of try_set_caps twice, which is not nice for autopluggers
- change rank to secondary, so autopluggers can pick it up after
audioconvert
Original commit message from CVS:
if there is nothing connected to the sink of interleave it tries to claim it supports 0 channel audio. Fix this by assuming that there will be at least 1 channel in the future.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_remove),
(gst_multifdsink_clear), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Recover from a select with a bad file descriptor by removing
the client.
Original commit message from CVS:
2004-07-30 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/libpng/gstpngenc.c: (gst_pngenc_class_init):
fix default for newmedia flag
Original commit message from CVS:
2004-07-30 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/libpng/gstpngenc.c: (gst_pngenc_class_init),
(gst_pngenc_init), (gst_pngenc_chain), (gst_pngenc_get_property),
(gst_pngenc_set_property):
* ext/libpng/gstpngenc.h:
Added newmedia support to pngenc so now gst-launch-0.8 videotestsrc ! ffmpegcolorspace ! pngenc snapshot=false newmedia=true ! multifilesink location=blah%d.png works as expected
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_push):
Return query failure when we don't know the length of
an ogg stream insteda of returning TRUE with a bogus value.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
Don't screw up the 1 Chroma for 1 luma sample situation when we
have an odd offset/width by adding a black border in those cases.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
* ext/theora/theoraenc.c: (theora_enc_sink_link):
Added first attempt at cropping of the image as required by the
theora spec. We need more properties in the caps (offset_x,
offset_y,stride) to implement this correctly.
Added some debug info in the encoder. Note :the encoder is not
updated with the offset code.
Original commit message from CVS:
* ext/dvdnav/README:
Update the README to use dvddemux
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps):
Ensure getcaps returns a subset of the template caps
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_base_init),
(gst_mpeg2subt_init):
Ensure getcaps returns a subset of the template caps
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_video_stream),
(gst_dvd_demux_get_subpicture_stream),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_set_cur_subpicture):
* gst/mpegstream/gstdvddemux.h:
Set the explicit caps on the current_video pad before pushing
anything
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream):
Free caps used to gst_pad_set_explicit_caps, which takes a const
GstCaps *
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:
2004-07-27 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* testsuite/alsa/Makefile.am:
* testsuite/alsa/srcstate.c:
add test for alsasrc changing state
Original commit message from CVS:
2004-07-27 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/silence/gstsilence.c: (gst_silence_init), (gst_silence_link),
(gst_silence_get):
* gst/silence/gstsilence.h:
fix silence generation for 16bit raw audio
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:
2004-07-27 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new): Some fixes to image size calculation.
Original commit message from CVS:
2004-07-27 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate): When
the atom is not available we have to unlock the mutex. Fixes#148023
Original commit message from CVS:
2004-07-26 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new): Some more fixes to image size calculation.
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_link), (gst_lame_init),
(gst_lame_chain), (gst_lame_setup), (gst_lame_change_state),
(plugin_init):
add debugging category, add error checks like checking return values
of setup calls, make sure it still works after
PLAYING=>NULL=>PLAYING, fix encoding of mono streams
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_process_private):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_data):
Check for error codes from the negotiation functions. Make sure
we really set the pad caps when a new pad is created.
Original commit message from CVS:
* gst/tcp/gsttcpclientsrc.c (gst_tcpclientsrc_get): Make sure that
the pad is negotiated.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c (gst_ffmpegcolorspace_chain): Ditto
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/typefind/gsttypefindfunctions.c: (plugin_init): Add typefind
for ELF files, since they can easily be recognized as audio/mpeg.
(bug #147441)
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
(gst_ogg_demux_get_formats), (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_demux_src_convert),
(gst_ogg_demux_handle_event), (gst_ogg_demux_seek_before),
(_find_chain_get_unknown_part), (_find_streams_check),
(gst_ogg_demux_push), (gst_ogg_pad_push):
* ext/theora/theoradec.c: (theora_get_formats),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_event),
(theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_event):
More seeking fixes, oggdemux now supports seeking to time and
uses the downstream element to convert granulepos to time.
Seeking in theora-only ogg files now works.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_get_formats), (theora_get_event_masks),
(theora_get_query_types), (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_event), (theora_dec_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_get_formats),
(vorbis_get_event_masks), (vorbis_get_query_types),
(gst_vorbis_dec_init), (vorbis_dec_convert),
(vorbis_dec_src_query), (vorbis_dec_src_event), (vorbis_dec_event):
Added query/convert/formats functions to vorbis and theora decoders
so that the outside world can use them too. Fixed seeking on an
ogg/theora/vorbis file by disabling the seeking on the
theora srcpad.
Original commit message from CVS:
2004-07-21 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_renegotiate_size), (gst_ximagesink_sink_link),
(gst_ximagesink_chain), (gst_ximagesink_set_xwindow_id): Optimize
images creation for both elements. We don't create the image on caps
nego or renego, we just destroy the internal one if present if it does
not match the needs. The chain function takes care of creating a new
image when needed.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_xwindow_decorate), (gst_xvimagesink_sink_link),
(gst_xvimagesink_chain), (gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_set_xwindow_id): Additionally xvimage now contains
the image format information. The buffer pool checks for the context
image format and discard images with different formats.
* sys/xvimage/xvimagesink.h: Adding im_format in the xvimage structure.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Fix double end-to-native symbol conversion (#148021).
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer):
* gst/tcp/gstmultifdsink.h:
More multifdsink stats. Avoid deadlock by releasing locks
before sending out a signal.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_init), (gst_multifdsink_add),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_chain),
(gst_multifdsink_set_property), (gst_multifdsink_get_property),
(gst_multifdsink_init_send):
* gst/tcp/gstmultifdsink.h:
Added more stats, added timeout for a client, fixed some typos
and added some comments.
Original commit message from CVS:
2004-07-16 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xerror),
(gst_ximagesink_check_xshm_calls), (gst_ximagesink_ximage_new),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_sink_link),
(gst_ximagesink_chain), (gst_ximagesink_buffer_free),
(gst_ximagesink_buffer_alloc):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy),
(gst_xvimagesink_chain), (gst_xvimagesink_buffer_free),
(gst_xvimagesink_buffer_alloc):
* sys/xvimage/xvimagesink.h: Getting the 2 video sinks synchronized
again. Using internal data pointer of the x(v)image to store image's
data to be coherent with the buffer alloc mechanism. Investigated the
image destruction code to be sure that everything gets freed correctly.
Original commit message from CVS:
* gst-libs/gst/video/video.h:
Added 32 bits RGBA. Not sure if we should use another mime-type
for alpha rgb. Currently the presence of the alpha_mask property
signals an alpha channel. Ronald?
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
FPS seems to be 0.0 to MAX everywhere else.
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:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_destroy):
fix for non-shm xv. Original patch by Tim Ringenbach (fixes#147248)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_sw_params_dump), (gst_alsa_hw_params_dump),
(gst_alsa_close_audio):
disable some of the debugging code for now. Writing debugging to a
buffer is broken in current alsalib releases.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_seek_before):
When trying to find the stream length, seek back N pages
instead of just one, where N is the number of streams in
the current chain.
Original commit message from CVS:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_get_capslist), (gst_gdk_pixbuf_chain):
Add svg and pcx to template caps, and ensure that getcaps returns a subset
of the template caps.
Copy each row manually for output, as gdkpixbuf may pad the
rowstride to a 32-bit word boundary.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps):
Fix the template caps to include some more media types.
Original commit message from CVS:
2004-07-11 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_link): For
float, "any" caps -> buffer_frames=[0,MAX].
* gst/interleave/interleave.c (interleave_getcaps): Seems the core
doesn't intersect our caps with the template any more. Do it
ourselves.
(interleave_buffered_loop): Use g_newa instead of malloc/free.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_new_output_pad),
(gst_mpeg_demux_parse_packet), (gst_mpeg_demux_process_private):
Add pad to element *after* setting the pad functions so that
the scheduler can use the correct ones.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_from_granulepos),
(theora_dec_src_query), (theora_dec_src_event), (theora_dec_chain):
Sync to keyframe after seek
Original commit message from CVS:
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_get_length_callback), (gst_play_set_location),
(gst_play_seek_to_time), (gst_play_set_data_src),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization), (gst_play_connect_visualization),
(gst_play_get_sink_element):
- add debugging info
- fix looking up sink elements by iterating over complete caps
- put everything except for source and autoplugger in a complete bin
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/theora/theora.c: (plugin_init):
* ext/theora/theoradec.c: (theora_dec_from_granulepos),
(theora_dec_src_query), (theora_dec_chain):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_buffer_from_packet),
(theora_push_packet), (theora_enc_chain):
Fix theora granulepos calculation.
Fix overflow in duration/position calculation.
Bump rank to PRIMARY for theoradec.
Use granulepos of last packet to calculate position.
Set keyframe flag on buffers when needed.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery):
only restart audio when we indeed have an xrun to fix repeated
xruns. Fix suggested by Giuliano Pochini.
Original commit message from CVS:
* ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper): Disable
call to gst_debug_log() if debugging is disabled (bug #145118)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_xrun_recovery):
use our own functions for restarting the alsa device.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
I should apply patches myself - use MIN for the third argument, not
the second, this fixes seeking
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_class_init),
(gst_flacdec_write): Actually, GST_PAD_CAPS() has nothing to
do with the logic.
Original commit message from CVS:
* ext/ogg/gstogg.c: (plugin_init):
we require bytestream now
* ext/ogg/gstoggdemux.c:
huge diff to implement chain setup in a fast and generic way. This
improves tag reading and startup of huge files (read: Theora videos)
quite a bit. It probably contains bugs, too, so please test.
Seeking is not improved to the fast method.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
* ext/ogg/gstoggmux.c:
Fix memleak in oggdemux when running unconnected pads.
doc update in mux, start working on keyframe mode.
Original commit message from CVS:
* sys/oss/gstosssink.c:
* sys/oss/gstosssrc.c:
advertise correct template caps - we indeed do non-native endianness
and 8bit audio has no endianness
* sys/ximage/ximagesink.c: (gst_ximagesink_getcaps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_getcaps):
avoid (wrong) duplications in getcaps function and return
template caps
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:
2004-06-27 Julien Moutte <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate),
(gst_ximagesink_xwindow_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
(gst_xvimagesink_xwindow_new): I prefer locking the mutex in the
function directly. We might want to call it from somewhere else one day.
Original commit message from CVS:
2004-06-27 Julien Moutte <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate),
(gst_ximagesink_xwindow_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
(gst_xvimagesink_xwindow_new): Trying to fix the random behaviour of
window decorations.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_class_init), (gst_dvdec_init),
(gst_dvdec_video_getcaps), (gst_dvdec_video_link),
(gst_dvdec_push), (gst_dvdec_loop), (gst_dvdec_change_state),
(gst_dvdec_set_property), (gst_dvdec_get_property):
* ext/dv/gstdvdec.h:
Implement drop_factor property to lower the framerate with
a factor.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_push), (gst_dvdec_loop),
(gst_dvdec_change_state):
* ext/dv/gstdvdec.h:
Fix timestamp, duration and offset of the buffers.
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:
* ext/theora/theoraenc.c (theora_enc_chain): Call
gst_pad_try_set_caps instead of gst_pad_set_explicit_caps so the
streamheader caps are set correctly.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_start), (gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init),
(gst_alsa_src_update_avail), (gst_alsa_src_loop):
Use alsa trigger_tstamp to get the timestamp of the first
sample in the buffer for more precise sync. Some cleanups.
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:
* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop), (gst_alsa_sink_get_time):
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init),
(gst_alsa_src_get_time), (gst_alsa_src_update_avail),
(gst_alsa_src_loop):
Add clock to alsasrc. Take new capture timestamp when
restarting after an overrun. Split up some functions between
alsasrc ans alsasink.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_sink_link), (theora_buffer_from_packet),
(theora_push_packet), (theora_enc_chain):
Some cleanups, make sure the timestamps are correct.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_time), (gst_alsa_clock_update),
(gst_alsa_change_state), (gst_alsa_update_avail),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_loop):
Cleanups, take queued samples into account when reporting
the time.
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:
2004-06-22 Zaheer Abbas Merali <zaheerabbas at merali.org>
* sys/osxvideo/Makefile.am:
Workaround so that the osxvideo .so file gets linked with the
Original commit message from CVS:
2004-06-22 Zaheer Abbas Merali <zaheerabbas at merali.org>
* sys/osxaudio/Makefile.am:
Workaround so that the osxaudio .so file gets linked with the
Original commit message from CVS:
2004-06-22 Zaheer Abbas Merali <zaheerabbas at merali.org>
* configure.ac:
Add objective-c support if running in Darwin/Mac OS X
* sys/Makefile.am:
* sys/osxvideo:
* sys/osxvideo/Makefile.am:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m:
Add osxvideosink, a cocoa-based osx video sink
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:
* ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_dispose),
(gst_alsa_get_time), (gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_get_type):
* ext/alsa/gstalsasrc.c: (gst_alsa_src_init), (gst_alsa_src_loop),
(gst_alsa_src_change_state):
* ext/alsa/gstalsasrc.h:
Make the xrun code timestamp and offset the buffers correctly.
moved the clock to the base class, use alsa methods to get time.
Do correct timestamping on outgoing buffers.
Original commit message from CVS:
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_sync_mode_get_type),
(gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_get_fps),
(gst_v4lsrc_get), (gst_v4lsrc_set_property),
(gst_v4lsrc_get_property):
* sys/v4l/gstv4lsrc.h:
Added a copy mode to v4lsrc where it will output a copied version
of its internal hardware buffer.
Fix the wrong FLAG_SET usage. The flags are integers, not bits, you
can't | them.
Original commit message from CVS:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_sync_mode_get_type),
(gst_v4lsrc_class_init), (gst_v4lsrc_init), (gst_v4lsrc_get_fps),
(gst_v4lsrc_get), (gst_v4lsrc_set_property),
(gst_v4lsrc_get_property):
* sys/v4l/gstv4lsrc.h:
* sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay):
Added a sync mode enum property to control v4lsrc timestamp method
Removed the use-fixed-fps property and moved functionality in
the enum.
Don't error on an error value from v4l-conf, it might not always
be a real error.
Original commit message from CVS:
2004-06-15 Zaheer Abbas Merali <zaheerabbas at merali.org>
fixed a potential leak with previous commit
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head):
Original commit message from CVS:
2004-06-15 Zaheer Abbas Merali <zaheerabbas at merali.org>
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head):
Added missing refcount, fixes bug #144425
Cheers Tim for finding the bug
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_init),
(cdparanoia_get), (cdparanoia_open), (cdparanoia_change_state):
Send discont events and change timestamps appropriately when
we get a seek event. (bug #144240)
* ext/cdparanoia/gstcdparanoia.h:
Original commit message from CVS:
2004-06-14 Benjamin Otte <otte@gnome.org>
* ext/alsa/gstalsa.c: Use snd_pcm_hw_params_set_rate _near instead of
snd_pcm_hw_params_set_rate since the latter fails for no good
reason on some setups.<
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:
* ext/esd/esdsink.c: (gst_esdsink_change_state):
* ext/esd/esdsink.h:
Close the esd connection on pause, because esd will just wait -
blocking all other esd clients indefinitely.
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-12 Zaheer Abbas Merali <zaheerabbas@merali.org>
* configure.ac:
Added ogg library so that OSX detects libtheora properly
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_chain),
(theora_dec_change_state):
Don't try to decode frames before we received a keyframe
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_init), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop),
(gst_ogg_mux_get_property), (gst_ogg_mux_set_property):
Added property to set the maximum delay of a page.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_init), (gst_ogg_mux_next_buffer),
(gst_ogg_mux_get_headers), (gst_ogg_mux_set_header_on_caps),
(gst_ogg_mux_send_headers), (gst_ogg_mux_loop),
(gst_ogg_mux_get_property), (gst_ogg_mux_set_property):
Added max-delay property to control the maximum amount
of data to put in one page.
Original commit message from CVS:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(gst_theora_enc_init), (theora_enc_sink_link),
(theora_buffer_from_packet), (theora_enc_set_property),
(theora_enc_get_property):
Set duration on encoded buffer, added some more properties
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init),
(gst_asf_demux_loop), (gst_asf_demux_process_file),
(gst_asf_demux_process_data), (gst_asf_demux_handle_data),
(gst_asf_demux_process_object), (gst_asf_demux_get_stream),
(gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event),
(gst_asf_demux_handle_src_event), (gst_asf_demux_handle_src_query),
(gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
You know Chimaira? "I - HATE - EVERYTHING". Yeah, that's what this
feels like. I think we should set a new requirement for demuxers
from now on to implement sane loop functions, data loops, query
and seek functions before first commit into CVS. And this commit
fixes all of the above.
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:
* ext/alsa/gstalsa.c: (add_channels):
handle min <= max correctly
* ext/alsa/gstalsa.c: (gst_alsa_fixate_to_mimetype),
(gst_alsa_fixate_field_nearest_int), (gst_alsa_fixate):
add fixation functions so we fixate correctly. No preferring of alaw
anymore because it's the first structure.
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c: (gst_alsa_sw_params_dump),
(gst_alsa_hw_params_dump):
add functions to ease debugging in alsalib
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
only specify hw params if we really setup a format (fixes#134007 -
or at least works around it)
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
(gst_ogg_mux_next_buffer), (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_push_page), (gst_ogg_mux_get_headers),
(gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_send_headers),
(gst_ogg_mux_loop):
Use stream caps to setup the initial pages in the ogg stream.
Correctly set the streamheader caps on the srcpad.
Original commit message from CVS:
* configure.ac: OSS portability
* ext/arts/gst_arts.c: idem
* sys/oss/gstosselement.c: idem
* sys/oss/gstossmixer.c: idem
* sys/oss/gstosssink.c: idem
* sys/oss/gstosssrc.c: idem
* sys/oss/oss_probe.c: idem
- check for soundcard.h in different places for some BSD
Original commit message from CVS:
* AUTHORS:
Add me to the authors file
* configure.ac:
Increase the libdv requirement to >= version 0.100
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_src_convert),
(gst_dvdec_src_query), (gst_dvdec_handle_sink_event),
(gst_dvdec_push), (gst_dvdec_loop), (gst_dvdec_change_state):
* ext/dv/gstdvdec.h:
Add support for the new_media flag when sending DISCONT events
Make the querying work when video pad is not linked
Original commit message from CVS:
reviewed by Benjamin Otte <otte@gnome.org>
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_init):
create a NULL-initialized array of pads, so we don't think they
exist already. (fixes#143130)
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:
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:
* ext/mad/gstid3tag.c: (gst_id3_tag_handle_event):
forward correctly transformed offset in discont events. Based on
patch by Arwed v. Merkatz. (fixes#142851)
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:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init):
use explicit caps on the srcpad
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
properly error out if caps couldn't be set (fixes#142764)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_probe_hw_params),
(gst_alsa_set_hw_params), (gst_alsa_set_sw_params),
(gst_alsa_start_audio):
- don't call set_periods_integer anymore, it breaks the
configuration randomly
- call snd_pcm_hw_params_set_access directly instead of using masks
- don't fail if the sw_params can't be set, just use the default
params and hope it works. Alsalib has weird issues when you touch
sw_params and does no proper error reporting about what failed.
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_close_audio):
make our alsa debugging go via gst debugging and not conditionally
defined
* ext/alsa/gstalsa.h:
add ALSA_DEBUG_FLUSH macro
* ext/alsa/gstalsaplugin.c: (gst_alsa_error_wrapper),
(plugin_init):
wrap alsa errors to be printed via the gst debugging system and not
spammed to stderr
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/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/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:
2004-06-01 Christophe Fergeau <teuf@gnome.org>
* ext/flac/gstflactag.c: strip ending framing bit from vorbiscomment
buffer since libflac doesn't expect it (reports a sync error when
it encounters that)
Original commit message from CVS:
* gst-libs/gst/tuner/tunerchannel.h:
- add a freq_multiplicator field to make the conversion
between internal frequency unit and Hz
* sys/v4l/gstv4lelement.c:
* sys/v4l2/gstv4l2element.c:
- change default video device to /dev/video0
* sys/v4l/v4l_calls.c:
* sys/v4l2/v4l2_calls.c:
- we only expose frequency to the user in Hz instead of
bastard v4lX unit (either 62.5kHz or 62.5Hz)
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:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
Select first track as master track. Not sure how else to handle
that...
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer):
Discard discont events. Should fix#142962.
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/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:
* 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:
* ext/mad/gstid3tag.c: (gst_id3_tag_get_type),
(gst_id3_tag_class_init), (gst_id3_tag_init),
(gst_id3_tag_set_property), (gst_id3_tag_get_tag_to_render),
(gst_id3_tag_handle_event), (gst_id3_tag_do_caps_nego),
(gst_id3_tag_send_tag_event):
lots of fixes to make id3mux work and id3demux work correctly
Original commit message from CVS:
* ext/Makefile.am:
add rules to build shout2send (was removed by accident
when this module was no more marked experimental/broken)
* ext/shout2/gstshout2.c:
* ext/shout2/gstshout2.h:
adding a "connection problem" signal to shout2send
(fixes#142954)
Original commit message from CVS:
* gst/cdxaparse/gstcdxaparse.c:
* gst/cdxaparse/gstcdxaparse.h:
some renaming
add some checks/sanity
prepare for seek addition
* sys/sunaudio/gstsunaudio.c:
remove exported dupe init function
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:
* configure.ac: Minor cosmetic change to convince the buildbot to
reautogen.
* sys/sunaudio/gstsunaudio.c: (gst_sunaudiosink_class_init),
(gst_sunaudiosink_init), (gst_sunaudiosink_getcaps),
(gst_sunaudiosink_pad_link), (gst_sunaudiosink_chain),
(gst_sunaudiosink_setparams), (gst_sunaudiosink_open),
(gst_sunaudiosink_close), (gst_sunaudiosink_change_state),
(gst_sunaudiosink_set_property), (gst_sunaudiosink_get_property):
More hacking. Plays audio now.
Original commit message from CVS:
* sys/osxaudio/Makefile.am: New OS X audio plugin by Zaheer Merali
* sys/osxaudio/gstosxaudio.c:
* sys/osxaudio/gstosxaudioelement.c:
* sys/osxaudio/gstosxaudioelement.h:
* sys/osxaudio/gstosxaudiosink.c:
* sys/osxaudio/gstosxaudiosink.h:
* sys/osxaudio/gstosxaudiosrc.c:
* sys/osxaudio/gstosxaudiosrc.h:
Original commit message from CVS:
* configure.ac:
remove -DG_DISABLE_DEPRECATED. It's not usable without workarounds
if you want to work against glib 2.2 and 2.4
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/ffmpegcolorspace/imgconvert.c: (img_convert): Fixes for
warnings (bugs, actually) noticed by gcc but not forte.
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:
* gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16),
(gst_resample_sinc_ft_float): Remove use of static temporary
buffer. This code was obviously not supposed to last long, but
it's stuck in our ABI, so it required a little hack to make it
ABI-compatible. Fixes#142585.
* gst-libs/gst/resample/resample.h: same.
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/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_init),
(gst_ogg_mux_sinkconnect), (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_next_buffer), (gst_ogg_mux_push_page),
(gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_loop):
Fix an ugly memleak where the muxer didn't flush enough ogg
pages. This also resulted in badly muxed ogg files.
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:
* ext/shout2/gstshout2.c:
use application/ogg instead of application/x-ogg (patch by Patrick
Guimond, fixes#142432)
* sys/oss/gstosselement.c: (gst_osselement_reset),
(gst_osselement_sync_parms):
don't set fragment size unless specified
Original commit message from CVS:
* autogen.sh:
* configure.ac:
* ext/mad/gstid3tag.c: (gst_id3_tag_chain):
compute offsets correctly for internal buffers so timestamps are set
correctly when we can't seek. Also handle cases where there are no
offsets. (based on a patch by David Moore, fixes#142507)
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
use correct variable when determining amount of data to skip so we
don't skip into the void and segfault