Commit graph

152 commits

Author SHA1 Message Date
Michael Smith
6f1277ab13 ext/ogg/gstoggmux.c: Forward port rewrite of muxing strategy to 0.9 version of oggmux.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_buffer_from_page), (gst_ogg_mux_push_buffer),
(gst_ogg_mux_dequeue_page), (gst_ogg_mux_pad_queue_page),
(gst_ogg_mux_send_headers), (gst_ogg_mux_collected):
Forward port rewrite of muxing strategy to 0.9 version of oggmux.
This makes us mux things correctly according to the ogg muxing
rules. Still not handling EOS correctly right now, though.
2005-11-08 16:37:32 +00:00
Tim-Philipp Müller
abda2cc1b8 ext/ogg/gstoggdemux.c: Initialise segment_stop to GST_CLOCK_TIME_NONE when creating a new chain; should fix live stre...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
(gst_ogg_pad_submit_packet), (gst_ogg_chain_new):
Initialise segment_stop to GST_CLOCK_TIME_NONE when
creating a new chain; should fix live streaming. Also
add more debug output and fix a typo.
2005-11-08 12:12:55 +00:00
Alessandro Decina
561b9e417d ext/ogg/gstoggdemux.c: Make oggdemux only find the final time in a chain, not per-pad, since the per-pad information ...
Original commit message from CVS:
2005-10-31  Michael Smith <msmith@fluendo.com>

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_init),
(gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain),
(gst_ogg_demux_collect_chain_info), (gst_ogg_print):
Patch from Alessandro Decina <alessandro@nnva.org>.
Make oggdemux only find the final time in a chain, not per-pad,
since the per-pad information can be very expensive to locate, and
it isn't used anywhere. This makes reading a file containing
OggSkeleton reasonably fast.
Also, make chain finding work when there are logical bitstreams that
can't be decoded. Fixes #319110.
2005-10-31 18:35:45 +00:00
Tim-Philipp Müller
c79b832176 ext/ogg/gstoggdemux.c: Explicitly check for -1 values before doing a conversion and always map them to -1. (#315545)
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_convert),
(gst_ogg_demux_chain_peer), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain):
Explicitly check for -1 values before doing a conversion
and always map them to -1. (#315545)
2005-10-29 13:39:23 +00:00
Thomas Vander Stichele
5de80e5900 STOPPED -> FAILED
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_loop):
* po/POTFILES.in:
STOPPED -> FAILED
2005-10-23 09:57:59 +00:00
Wim Taymans
f88e6c08fd Query API update.
Original commit message from CVS:
* examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline),
(query_positions_elems), (query_positions_pads), (update_scale),
(do_seek), (set_update_scale), (message_received), (main):
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_find_chains),
(gst_ogg_demux_loop):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_handle_data_packet):
* gst/adder/gstadder.c: (gst_adder_query):
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_query):
* gst/playback/test3.c: (update_scale):
* gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding),
(dump_element_stats), (main):
* gst/playback/test6.c: (main):
* gst/sine/gstsinesrc.c: (gst_sinesrc_src_query):
Query API update.
2005-10-19 15:55:33 +00:00
Wim Taymans
ceaa930f24 ext/ogg/gstoggdemux.c: Fix for segment-start/stop API change.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_loop):
Fix for segment-start/stop API change.
2005-10-18 13:20:29 +00:00
Andy Wingo
534baa2b1b ext/ogg/gstoggmux.c (gst_ogg_mux_queue_pads): Fix bug introduced with the collectpads change.
Original commit message from CVS:
2005-10-17  Andy Wingo  <wingo@pobox.com>

* ext/ogg/gstoggmux.c (gst_ogg_mux_queue_pads): Fix bug introduced
with the collectpads change.
(gst_ogg_mux_send_headers): Elevate warning to a g_critical.
2005-10-17 15:36:33 +00:00
Andy Wingo
515d52ec1d ext/ogg/gstoggmux.c (gst_ogg_mux_send_headers): Fix a segfault in strange circumstance.
Original commit message from CVS:
2005-10-17  Andy Wingo  <wingo@pobox.com>

* ext/ogg/gstoggmux.c (gst_ogg_mux_send_headers): Fix a segfault
in strange circumstance.
2005-10-17 11:32:46 +00:00
Thomas Vander Stichele
4f8f42b0b6 restructure configure.ac, use correct libtool LDFLAGS, fix up defines
Original commit message from CVS:
restructure configure.ac, use correct libtool LDFLAGS, fix up defines
2005-10-16 13:54:44 +00:00
Michael Smith
e3b8cd9265 Magic glib macro usage to ensure constants are passed properly to vararg functions.
Original commit message from CVS:
Magic glib macro usage to ensure constants are passed properly to vararg
functions.
2005-10-13 12:09:56 +00:00
Michael Smith
bd3cff086d - Don't use non-portable LL suffix on constants, since MSVC doesn't allow them. These constants all fit into ints any...
Original commit message from CVS:
- Don't use non-portable LL suffix on constants, since MSVC doesn't allow
them. These constants all fit into ints anyway.

- Continue to hate nano.
2005-10-13 11:36:14 +00:00
Stefan Kost
43bc15fa94 renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* examples/indexing/indexmpeg.c: (main):
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get),
(cdparanoia_open), (cdparanoia_close), (cdparanoia_event),
(cdparanoia_convert), (cdparanoia_query):
* ext/cdparanoia/gstcdparanoia.h:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_init),
(gst_gnomevfssink_open_file), (gst_gnomevfssink_close_file),
(gst_gnomevfssink_chain), (gst_gnomevfssink_change_state):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
* gst/audioscale/gstaudioscale.c: (gst_audioscale_init):
* gst/playback/gststreamselector.c: (gst_stream_selector_init):
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_init),
(gst_multifdsink_render), (gst_multifdsink_start),
(gst_multifdsink_stop):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init),
(gst_tcpclientsink_render), (gst_tcpclientsink_start),
(gst_tcpclientsink_stop):
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init),
(gst_tcpclientsrc_getcaps), (gst_tcpclientsrc_create),
(gst_tcpclientsrc_start), (gst_tcpclientsrc_stop):
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init),
(gst_tcpserversrc_create), (gst_tcpserversrc_start),
(gst_tcpserversrc_stop):
* gst/tcp/gsttcpserversrc.h:
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_init):
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2005-10-12 14:32:29 +00:00
Julien Moutte
a03a6eebb1 ext/ogg/gstoggmux.c: Quick hack to fix build. We need to handle
Original commit message from CVS:
2005-10-11  Julien MOUTTE  <julien@moutte.net>

* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
(gst_ogg_mux_collected): Quick hack to fix build. We need to
handle
EOS correctly, that needs more work.
2005-10-11 17:19:36 +00:00
Wim Taymans
f13f1c0b3b check/generic/states.c: remove old property.
Original commit message from CVS:
* check/generic/states.c: (GST_START_TEST):
remove old property.

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek):
* ext/theora/theoradec.c: (theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_data_packet):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_set_gst_timestamp):
* gst/videorate/gstvideorate.c: (gst_videorate_event):
Update for newsegment API change.
2005-10-11 16:30:55 +00:00
Thomas Vander Stichele
96fd3b4548 declare variable at start of block
Original commit message from CVS:
declare variable at start of block
2005-10-07 17:06:59 +00:00
Wim Taymans
a872aac9f8 ext/ogg/gstoggdemux.c: Report the FLOW_RETURN as string in the error message.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_loop):
Report the FLOW_RETURN as string in the error message.

* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_clear_all):
Don't assert when clearing an unnegotiated buffer.
2005-10-06 13:11:55 +00:00
Wim Taymans
d6825b358a ext/: Propagate error codes from alloc_buffer too.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer):
* ext/theora/theoradec.c: (theora_handle_data_packet):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
Propagate error codes from alloc_buffer too.
2005-09-29 19:12:44 +00:00
David Schleef
cb8927cb92 Fixes for changes in registry API.
Original commit message from CVS:
* check/generic/states.c:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
* gst/playback/gstdecodebin.c: (gst_decode_bin_init):
Fixes for changes in registry API.
* configure.ac: Only export gst_plugins_desc.  Add -no-undefined
to GST_PLUGIN_LDFLAGS.
* ext/libvisual/visual.c: Make the library shut up.
* gst-libs/gst/audio/audio.c: Don't define a plugin in a library.
* gst-libs/gst/audio/gstaudiofilter.c: same
2005-09-15 06:59:36 +00:00
Andy Wingo
6665c3084c All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:18 +00:00
Andy Wingo
13c10724db ext/ogg/gstoggdemux.c (gst_ogg_demux_init): Init total_time to
Original commit message from CVS:
2005-08-29  Andy Wingo  <wingo@pobox.com>

* ext/ogg/gstoggdemux.c (gst_ogg_demux_init): Init total_time to
-1.
(gst_ogg_demux_perform_seek): Clamp segment_stop only if it's
valid.
(gst_ogg_pad_submit_packet): Subtract the chain's begin_time only
if it's valid. Fixed streaming-mode playback.
2005-08-29 14:45:12 +00:00
Michael Smith
d5a7ae1915 Add an ogg parser element
Original commit message from CVS:
Add an ogg parser element
2005-08-29 10:52:20 +00:00
Andy Wingo
c32721723b Updates for two-arg init from GST_BOILERPLATE_FULL.
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* Updates for two-arg init from GST_BOILERPLATE_FULL.
2005-08-28 17:52:45 +00:00
Jan Schmidt
ee2bc937be ext/ogg/gstoggdemux.c: Another from MikeS:
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (ogg_find_peek):
Another from MikeS:
During typefinding, don't support negative offsets
(offsets from the end of the stream) in our typefind->peek() function
- nothing embedded in ogg ever needs them. However, we need to recognise
those requests and reject them, otherwise we return invalid pointers.
2005-08-26 11:39:01 +00:00
Jan Schmidt
538eabd559 ext/: Big shout-out to MikeS for fixing this giant memory leak.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init),
(vorbisdec_finalize), (vorbis_handle_type_packet):
Big shout-out to MikeS for fixing this giant memory leak.
Huzzah!
2005-08-26 10:50:56 +00:00
Wim Taymans
7824216cef ext/ogg/gstoggdemux.c: Parse seeking events better.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_pad_event), (gst_ogg_demux_factory_filter),
(gst_ogg_pad_submit_packet), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print):
Parse seeking events better.
Unref static caps.
Generate correct newsegment events, fixes seeking in live oggs.

* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_src_event), (theora_dec_src_getcaps),
(theora_dec_sink_event), (theora_dec_push), (theora_dec_chain):
Use newsegment values to report correct play time.

* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Parse and use newsegment values to report correct play time.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
Clear ringbuffer on flush.
Use newsegment values to calculate playback time.

* sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times):
Basesink does newsegment calculations for us now.
2005-08-24 18:04:45 +00:00
Thomas Vander Stichele
585493a9dd yay, fix a segfault/security issue in vorbisdec gst-launch fakesrc ! vorbisdec wasn't happy add a test for vorbisdec
Original commit message from CVS:
yay, fix a segfault/security issue in vorbisdec
gst-launch fakesrc ! vorbisdec wasn't happy
add a test for vorbisdec
2005-08-20 20:40:25 +00:00
Thomas Vander Stichele
e571f069d1 renamed to actual element names, so much nicer to look at
Original commit message from CVS:

* common/gtk-doc-plugins.mak:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
renamed to actual element names, so much nicer to look at
* docs/plugins/tmpl/gstmultifdsink.sgml:
remove
* docs/plugins/tmpl/multifdsink.sgml:
* docs/plugins/tmpl/tcpserversink.sgml:
add
* ext/alsa/gstalsa.c:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get_property):
* ext/ogg/gstoggmux.c:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/playback/gstdecodebin.c:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init):
* gst/tcp/gsttcpserversink.c:
various fixes and documentation additions
2005-08-05 18:51:29 +00:00
Jan Schmidt
49fc826134 ext/ogg/gstoggmux.c: Stop collectpads before calling the parent state change function on PAUSED->READY.
Original commit message from CVS:
2005-08-02  Jan Schmidt  <thaytan@mad.scientist.com>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_change_state):
Stop collectpads before calling the parent state
change function on PAUSED->READY.
2005-08-02 09:41:05 +00:00
Wim Taymans
ee8ed3a89d examples/seeking/seek.c: Update seek example.
Original commit message from CVS:
* examples/seeking/seek.c: (setup_dynamic_link),
(make_dv_pipeline), (make_vorbis_theora_pipeline), (query_rates),
(query_positions_elems), (query_positions_pads), (do_seek):
Update seek example.

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_event),
(gst_ogg_pad_typefind), (gst_ogg_demux_chain_elem_pad),
(gst_ogg_demux_queue_data), (gst_ogg_demux_chain_peer),
(gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page),
(gst_ogg_demux_handle_event),
(gst_ogg_demux_deactivate_current_chain),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_chain), (gst_ogg_demux_send_event),
(gst_ogg_demux_loop):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_collected):
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_dec_src_getcaps), (theora_dec_sink_event),
(theora_dec_push), (theora_dec_chain):
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_event),
(vorbis_dec_sink_event), (vorbis_dec_push),
(vorbis_handle_data_packet):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_sink_event),
(gst_vorbisenc_chain):
* gst/playback/gststreaminfo.c: (cb_probe):
* gst/subparse/gstsubparse.c: (gst_subparse_src_event):
* gst/videorate/gstvideorate.c: (gst_videorate_event):
* gst/videoscale/gstvideoscale.c:
(gst_videoscale_handle_src_event):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_event):
* sys/ximage/ximagesink.c: (gst_ximagesink_show_frame),
(gst_ximagesink_navigation_send_event):
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_navigation_send_event):
Various event updates and cleanups
2005-07-27 18:34:29 +00:00
Wim Taymans
e2da9961d9 ext/ogg/gstoggdemux.c: Generate correct disconts for live chained oggs.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_event),
(gst_ogg_pad_internal_chain), (gst_ogg_pad_typefind),
(gst_ogg_demux_chain_elem_pad), (gst_ogg_demux_queue_data),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_pad_submit_page), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_activate_chain),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_chain_info),
(gst_ogg_demux_collect_info), (gst_ogg_demux_chain),
(gst_ogg_demux_send_event), (gst_ogg_demux_loop):
Generate correct disconts for live chained oggs.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render),
(gst_base_audio_sink_create_ringbuffer),
(gst_base_audio_sink_change_state):
Handle discont math correctly.

* gst/playback/gstplaybin.c: (add_sink):
Some small debug cleanup.
2005-07-21 17:25:40 +00:00
Wim Taymans
f314343058 ext/ogg/gstoggdemux.c: Reorganize code to send the right disconts when in streaming mode.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_init), (gst_ogg_pad_event),
(gst_ogg_pad_internal_chain), (gst_ogg_pad_typefind),
(gst_ogg_demux_chain_elem_pad), (gst_ogg_demux_queue_data),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_pad_submit_page), (gst_ogg_chain_new),
(gst_ogg_demux_init), (gst_ogg_demux_deactivate_current_chain),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_read_chain), (gst_ogg_demux_find_pad),
(gst_ogg_demux_collect_chain_info), (gst_ogg_demux_collect_info),
(gst_ogg_demux_find_chains), (gst_ogg_demux_chain),
(gst_ogg_demux_send_event), (gst_ogg_demux_loop),
(gst_ogg_demux_change_state), (gst_ogg_print):
Reorganize code to send the right disconts when in streaming
mode.
2005-07-21 12:17:37 +00:00
Ronald S. Bultje
7795794bf0 Fixes for API changes in core.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_get_headers),
(gst_ogg_mux_set_header_on_caps):
* ext/theora/theoraenc.c: (theora_set_header_on_caps):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_set_header_on_caps):
* ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps):
* gst-libs/gst/audio/multichannel.c:
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list):
* gst/playback/gstdecodebin.c: (dynamic_create):
* gst/playback/gstplaybasebin.c: (setup_source), (mute_group_type):
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
Fixes for API changes in core.
2005-07-20 17:16:54 +00:00
Wim Taymans
82dc411e33 Updated seek example.
Original commit message from CVS:
* docs/libs/tmpl/gstringbuffer.sgml:
* examples/seeking/seek.c: (make_vorbis_theora_pipeline),
(query_rates), (query_positions_elems), (query_positions_pads),
(update_scale), (do_seek):
Updated seek example.

* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_pad_submit_page), (gst_ogg_demux_activate_chain),
(gst_ogg_demux_find_chains), (gst_ogg_demux_send_event),
(gst_ogg_demux_loop):
Push out correct discont values.

* ext/theora/theoradec.c: (theora_dec_src_convert),
(theora_dec_sink_convert), (theora_dec_src_getcaps),
(theora_dec_sink_event), (theora_handle_type_packet),
(theora_handle_header_packet), (theora_dec_push),
(theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
Better timestamping.

* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
(vorbis_dec_sink_event), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_chain):
* ext/vorbis/vorbisdec.h:
Better timestamping.

* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_get_times),
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
Handle syncing on timestamps instead of sample offsets. Make
use of DISCONT values as described in design docs.

* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time):
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_acquire),
(gst_ring_buffer_set_sample), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_times),
(gst_ximagesink_show_frame):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_times):
Correcly convert buffer timestamp to stream time.
2005-07-16 14:47:27 +00:00
Wim Taymans
6e5b22e005 ext/ogg/gstoggdemux.c: Better error recovery, ignore unconnected pads and non-fatal errors.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose),
(gst_ogg_pad_submit_packet), (gst_ogg_pad_submit_page),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_loop):
Better error recovery, ignore unconnected pads and
non-fatal errors.
2005-07-14 18:13:08 +00:00
Thomas Vander Stichele
1ea0574af4 make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be added manually to each Makefile.am so we are sure it goes
Original commit message from CVS:
make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be
added manually to each Makefile.am so we are sure it goes
*last* and doesn't add -L flags before linking in libs of our
own, like, say, internal .la libs, that then accidentally pick
up the installed copy.
2005-07-13 17:58:07 +00:00
Thomas Vander Stichele
eec80f9dc7 plug memleak in oggdemux, fix format strings in vorbisdec
Original commit message from CVS:
plug memleak in oggdemux, fix format strings in vorbisdec
2005-07-08 13:35:04 +00:00
Andy Wingo
5e606a8451 ext/theora/theoradec.c (theora_dec_src_getcaps): Implement a getcaps to do explicit caps. Needs to be done in all dec...
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.
2005-07-01 17:13:02 +00:00
Ronald S. Bultje
49d755a020 ext/ogg/gstogmparse.c: Fix build after riff changes.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Fix build after riff changes.
2005-06-30 09:22:30 +00:00
Ronald S. Bultje
1ce6923abb ext/ogg/gstoggdemux.c: Send EOS when deactivating.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain):
Send EOS when deactivating.
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(check_queue), (queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element), (probe_triggered), (mute_stream),
(silence_stream), (new_decoded_pad), (setup_substreams),
(set_active_source):
* gst/playback/gstplaybin.c: (gst_play_bin_get_property),
(remove_sinks), (add_sink):
* gst/playback/gststreaminfo.c: (cb_probe), (gst_stream_info_new):
Change for new probe API.
2005-06-29 15:46:00 +00:00
Wim Taymans
16141a4303 ext/ogg/gstoggdemux.c: Removed pad loop function.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_init):
Removed pad loop function.
2005-06-28 11:40:46 +00:00
Wim Taymans
1e38cab512 ext/ogg/gstoggdemux.c: If we're building a chain we are not in an error case when we queue a buffer.
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.
2005-06-28 11:00:03 +00:00
Andy Wingo
d0bc038021 *.c: Don't cast to GstObject before reffing/unreffing.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GstObject before reffing/unreffing.
2005-06-28 10:16:13 +00:00
Andy Wingo
97697df71d gst/videotestsrc/gstvideotestsrc.c
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.
2005-06-27 18:41:22 +00:00
Wim Taymans
5a928a258f revert previous commit.
Original commit message from CVS:
revert previous commit.
2005-06-23 15:16:26 +00:00
Wim Taymans
1ffcf1b1d9 ext/ogg/: Buffer on caps is not boxed anymore.
Original commit message from CVS:
* ext/ogg/README:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_set_header_on_caps):
Buffer on caps is not boxed anymore.
2005-06-23 15:09:31 +00:00
Andy Wingo
55d437af1c gst/: Ghost pad API fixes.
Original commit message from CVS:
2005-06-09  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/gconf/gconf.c:
* gst/playback/test.c:
* gst/playback/gstplaybin.c (gen_video_element): Ghost pad API
fixes.

* gst/audioconvert/gstaudioconvert.c: RPAD fixes.

* ext/theora/theoraenc.c (theora_enc_chain):
* ext/theora/theoradec.c (theora_handle_data_packet): GCC4 fixes.

* ext/ogg/gstoggdemux.c (GstOggPad): Derive from GstPad, not
RealPad.
2005-06-08 22:18:05 +00:00
Wim Taymans
6db639089a Cleanups and buffer alloc.
Original commit message from CVS:
* ext/ogg/README:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_clear_chains):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_handle_data_packet):
* ext/theora/theoraenc.c: (theora_buffer_from_packet),
(theora_enc_chain):
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_handle_data_packet):
* gst/audioconvert/bufferframesconvert.c:
(buffer_frames_convert_chain):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context),
(gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_bufferalloc),
(gst_ffmpegcsp_chain):
* gst/videorate/gstvideorate.c: (gst_videorate_transformcaps),
(gst_videorate_getcaps), (gst_videorate_setcaps),
(gst_videorate_event), (gst_videorate_chain):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_activate),
(gst_videotestsrc_src_query), (gst_videotestsrc_loop):
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimage_buffer_free),
(gst_xvimage_buffer_class_init), (gst_xvimage_buffer_get_type),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Cleanups and buffer alloc.
2005-06-02 09:46:40 +00:00
Wim Taymans
b6764dcc97 ext/ogg/gstoggdemux.c: Also FLUSH upstream, makes the loop function exit faster.
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.
2005-05-30 16:34:46 +00:00
Wim Taymans
70fbbf750b ext/ogg/gstoggdemux.c: Clear chains in READY
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.
2005-05-26 12:08:55 +00:00