Original commit message from CVS:
2005-07-07 Andy Wingo <wingo@pobox.com>
* sys/v4l/v4lsrc_calls.h:
* sys/v4l/v4lsrc_calls.c: Remove sync-related stuff.
(gst_v4lsrc_get_fps_list): Moved here from gstv4lsrc.c.
(gst_v4lsrc_buffer_new): Totally derive from GstBuffer.
* sys/v4l/v4l_calls.h: Cast to V4lElement.
* sys/v4l/v4l_calls.c: Header loc fixen, don't load mjpeg, all
v4lelements are sources.
* sys/v4l/gstv4lxoverlay.h:
* sys/v4l/gstv4lxoverlay.c:
* sys/v4l/gstv4ltuner.h:
* sys/v4l/gstv4ltuner.c: Header loc fixen.
* sys/v4l/gstv4lsrc.h:
* sys/v4l/gstv4lsrc.c: Crucial GPL update. Clean up a bit, port to
PushSrc/BaseSrc. Removed most sync-related properties, videorate
or something should handle that. Made a live source.
* sys/v4l/gstv4lelement.h:
* sys/v4l/gstv4lelement.c: Derive from GstPushSrc. No more
signals. Some cleanups.
* sys/v4l/gstv4lcolorbalance.h: Interface header update.
* sys/v4l/gstv4l.c: Don't register v4lelement, or the jpeg/mjpeg
stuff.
* sys/v4l/Makefile.am: Build everything except the jpeg/mjpeg
stuff.
* sys/Makefile.am (SUBDIRS): Hit the V4L crack pipe.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_getcaps),
(theora_dec_push), (theora_handle_data_packet):
Prepare for better timestamp fix later.
* gst/audioconvert/gstaudioconvert.c:
List most accurate caps first
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_loop):
Use proper pad task function.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_show_frame):
Fix deadlock when alloc failed.
Original commit message from CVS:
2005-07-04 Andy Wingo <wingo@pobox.com>
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_fixate):
No refcount leakage.
Original commit message from CVS:
2005-07-01 Andy Wingo <wingo@pobox.com>
* ext/theora/theoradec.c (theora_dec_src_getcaps): Implement a
getcaps to do explicit caps. Needs to be done in all decoders,
possibly via a base class.
* configure.ac (GST_PLUGIN_LDFLAGS): Add videoscale.
* ext/ogg/gstoggdemux.c (gst_ogg_pad_typefind): No need to set
caps on the sink pad, just rely on the pad template. Also, setting
ANY caps on a pad is not valid because the caps are not fixed.
* sys/ximage/ximagesink.c (gst_ximagesink_buffer_alloc): Set the
caps on the buffer, and get the width from the desired_caps if
they're set.
(gst_ximagesink_renegotiate_size): Implement via setting the
desired_caps on the ximagesink.
(gst_ximagesink_setcaps): Only reset the width of the player if it
wasn't already set. Not sure if this is right.
(gst_ximagesink_show_frame): Memcpy only for normal buffers.
* sys/ximage/ximagesink.h (desired_caps): New field, is the caps
that the user wants. NULL unless the window has been resized.
* gst/volume/gstvolume.c (volume_transform): Adapt to
basetransform refcount changes.
Original commit message from CVS:
2005-07-01 Andy Wingo <wingo@pobox.com>
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/gstvideoscale.h: Clean up, port to 0.9. Derives
from BaseTransform, implements a transform_caps. Removed dead code
including some PAR stuff that was never reached -- should probably
be added back somehow.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_audio_caps), (gst_riff_create_iavs_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps),
(gst_riff_create_iavs_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.h:
* gst-libs/gst/riff/riff.c: (gst_riff_init):
Add gst_riff_init() to initialize the debug category, instead
of plugin_init(). Port riff-media.[ch] from -THREADED to HEAD.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_baseaudiosink_class_init), (gst_baseaudiosink_dispose),
(gst_baseaudiosink_change_state):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ringbuffer_set_callback):
Fix compilation error.
Ringbuffer starts out as not running.
Free our clock in dispose.
When releasing the ringbuffer we need to renegotiate so
clear the pad caps.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet):
If we're building a chain we are not in an error case
when we queue a buffer.
Original commit message from CVS:
2005-06-27 Andy Wingo <wingo@pobox.com>
* gst/videotestsrc/gstvideotestsrc.c
(gst_videotestsrc_activate_push): Activation API changes.
* gst/playback/gstdecodebin.c (gst_decode_bin_change_state)
(gst_decode_bin_dispose): Free dynamics in READY->NULL, because
they have refs on the decodebin.
* ext/ogg/gstoggdemux.c (gst_ogg_pad_class_init): Ref the right
parent class.
(gst_ogg_pad_typefind): Don't leak a pad ref.
(gst_ogg_chain_new_stream): gst_object_unref, not g_object_unref.
(gst_ogg_demux_sink_activate, gst_ogg_demux_sink_activate_push)
(gst_ogg_demux_sink_activate_pull): Changes for activation API.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_change_state):
re-arranged call to parent's state change in order to avoid locks (or
worse).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
2nd argument of 'unknow-type' signal is a GstCaps and not a
GstMiniObject
Original commit message from CVS:
2005-06-25 Jan Schmidt <thaytan@mad.scientist.com>
* gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire):
Set the worker thread's running flag to TRUE before starting the
thread.
* gst/playback/gstdecodebin.c: (gst_decode_bin_init):
Catch a failure to add typefind to the bin.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_videorate_transformcaps),
(gst_videorate_getcaps), (gst_videorate_setcaps),
(gst_videorate_event), (gst_videorate_chain):
Fixed videorate, fixating an already fixated caps is not
an error.
Original commit message from CVS:
* ext/theora/theoraenc.c: (theora_set_header_on_caps):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps):
Set buffers on caps as miniobjects and not as boxed.
Original commit message from CVS:
2005-06-09 Andy Wingo <wingo@pobox.com>
* configure.ac:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/net/Makefile.am:
Add gstnet to build.
Original commit message from CVS:
* gst-libs/gst/net/Makefile.am:
* pkgconfig/gstreamer-libs-uninstalled.pc.in:
* pkgconfig/gstreamer-libs.pc.in:
Added net stuff, version net lib.
Original commit message from CVS:
2005-06-02 Andy Wingo <wingo@pobox.com>
* pkgconfig/gstreamer-libs-uninstalled.pc.in (prefix):
* pkgconfig/gstreamer-libs.pc.in (prefix): Add gst/tag to the -L
list.
* gst/playback/gstdecodebin.c (gst_decode_bin_dispose): Don't
remove the typefind, the bin dispose will do it for us. When it's
removed and unreffed, the signal handler will be disconnected,
too.
(unlinked): It's too difficult to disconnect from unlinked
handlers, as they are on pads not elements. Just punt if the pads
aren't grandkids of the bin.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ringbuffer_delay):
Don't try to call the delay method when the device is not
opened.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_open):
Get actual segment size and buffer size after opening
the device.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_clear_chains):
Also FLUSH upstream, makes the loop function exit faster.
* ext/theora/theoradec.c: (theora_dec_src_query):
Some more debug info in the query.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_setcaps):
Release lock on par error, better error reporting.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_chain),
(gst_ogg_demux_clear_chains), (gst_ogg_demux_change_state):
Clear chains in READY
Queue packets until the chain is activated.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context),
(gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc),
(gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state):
No need to take the STREAM lock anymore.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose),
(gst_ogg_pad_typefind), (gst_ogg_pad_submit_packet),
(gst_ogg_chain_new_stream), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_chain), (gst_ogg_demux_loop),
(gst_ogg_demux_sink_activate):
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_handle_comment_packet), (theora_dec_chain),
(theora_dec_change_state):
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
Remove STREAM locks as they are taken in core now.
Never set bogus granulepos on vorbis/theora.
Fix leaks in theoradec tag parsing.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
Open non-blocking, set to blocking mode afterwards to avoid
lockups when audio device is busy.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (probe_triggered):
Fix missing unlock.
* gst/playback/gstplaybin.c: (add_sink):
First add, then link (otherwise pad link fails).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_preroll_element):
Increase buffer for video, decrease buffer for other media types.
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Change names for debugging purposes.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context),
(gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc),
(gst_ffmpegcsp_chain):
Enable buffer alloc passthrough if the source and dest
formats are the same.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(fill_buffer), (check_queue), (queue_threshold_reached),
(queue_out_of_data):
* gst/playback/gstplaybasebin.h:
Post buffer-fullness on the bus.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_type),
(gst_play_base_bin_class_init), (gst_play_base_bin_finalize),
(get_active_group), (get_building_group), (group_destroy),
(group_commit), (check_queue), (queue_overrun),
(queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element), (remove_groups), (unknown_type),
(add_element_stream), (no_more_pads), (probe_triggered),
(preroll_unlinked), (new_decoded_pad), (setup_subtitle),
(setup_substreams), (setup_source), (finish_source),
(prepare_output), (muted_group_change_state),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property),
(gst_play_base_bin_change_state):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_set_property),
(gen_video_element), (gen_text_element), (gen_audio_element),
(gen_vis_element), (remove_sinks), (add_sink), (setup_sinks),
(gst_play_bin_change_state):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init),
(cb_probe), (gst_stream_info_new), (gst_stream_info_dispose),
(stream_info_change_state), (gst_stream_info_set_mute),
(gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
* gst/playback/gststreamselector.c: (gst_stream_selector_init),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_getcaps),
(gst_stream_selector_get_linked_pads),
(gst_stream_selector_request_new_pad), (gst_stream_selector_chain):
* gst/playback/gststreamselector.h:
Rough port of playbin. Needs some more work, but is mostly done,
and uses a few locks in important places, which should make stuff
like chain-switches clean. Still uses GST_STATE() in a few places,
which isn't all that good an idea, subtitles/elements disabled
because no elements to test with and thus probably broken, query
and event handling moved to GstBin, internal thread removed
alltogether because the pipeline does that for us now. Can play
Ogg/Vorbis files. Haven't tested anything else yet.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c (vorbis_handle_comment_packet): Post a
message to the bus with the tags. Still not sent downstream tho.
* gst/playback/gstdecodebin.c (remove_element_chain): Unref after
get_parent.
(remove_element_chain): Use OBJECT_PARENT instead of get_parent to
avoid refcounting hassles.
Original commit message from CVS:
2005-05-09 Andy Wingo <wingo@pobox.com>
* gst/volume/Makefile.am:
* gst/volume/demo.c
* gst/volume/gstvolume.h
* gst/volume/gstvolume.c: Port to 0.9 API, derive from
basetransform. Probably need an audio filter base class.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_setcaps),
(gst_vorbisenc_src_query), (gst_vorbisenc_sink_query),
(gst_vorbisenc_set_header_on_caps), (gst_vorbisenc_sink_event),
(gst_vorbisenc_chain):
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
(gst_audio_convert_caps_remove_format_info),
(gst_audio_convert_getcaps), (gst_audio_convert_setcaps),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
Make caps writable before writing to it.
Fix negotiation in audioconvert some more.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_videorate_class_init),
(gst_videorate_getcaps), (gst_videorate_setcaps),
(gst_videorate_blank_data), (gst_videorate_init),
(gst_videorate_event), (gst_videorate_chain),
(gst_videorate_change_state):
Port videorate, do a better job at negotiation while we're at
it.
Original commit message from CVS:
* configure.ac: Require liboil.
* gst/videotestsrc/gstvideotestsrc.c: Fix up liboil calls, add
a few more.
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context),
(gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_chain):
Well, unreffing a buffer right before pushing it is asking
for trouble..
Original commit message from CVS:
2005-05-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* ext/Makefile.am:
Disable cdparanoia until someone ports it!
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind),
(gst_ogg_demux_sink_activate):
And revert after wingo's revert.. sigh..
Original commit message from CVS:
2005-05-05 Andy Wingo <wingo@pobox.com>
* gst/audiorate/gstaudiorate.c (gst_audiorate_class_init): Pacify
GObject.
* configure.ac: Return audiorate and subparse from the ghetto.
Re-enable -Wall -Werror.
* gst/subparse/gstsubparse.c:
* gst/subparse/gstsubparse.h: Port to 0.9. Can operate loop-based
or chain-based. Cleaned up a bit. Not tested.
Original commit message from CVS:
* gst/adder/Makefile.am:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_class_init), (gst_adder_init),
(gst_adder_request_new_pad), (gst_adder_collected),
(gst_adder_change_state):
* gst/adder/gstadder.h:
Ported adder as an example of a mixer element using
collect pads. Needs more negotiation work.
Original commit message from CVS:
* ext/theora/theoradec.c: (_inc_granulepos),
(theora_dec_src_event), (theora_dec_sink_event),
(theora_handle_comment_packet), (theora_handle_type_packet),
(theora_handle_header_packet), (theora_handle_data_packet),
(theora_dec_chain):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(gst_theora_enc_init), (theora_enc_sink_setcaps),
(theora_push_buffer), (theora_push_packet),
(theora_enc_sink_event), (theora_enc_chain),
(theora_enc_change_state), (theora_enc_set_property),
(theora_enc_get_property):
Added stream lock to decoder so that we can serialize
the discont event.
More theoraenc porting, recover from errors, do clean
shutdown.