Commit graph

71 commits

Author SHA1 Message Date
Martin Szulecki
f0f9f5ac7f ext/alsa/: Clean up and simplify alsa device probing. Make it actually work for multiple classes. Don't cache results...
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list),
(gst_alsa_device_property_probe_probe_property),
(gst_alsa_device_property_probe_needs_probe),
(gst_alsa_device_property_probe_get_values),
(gst_alsa_type_add_device_property_probe_interface):
* ext/alsa/gstalsadeviceprobe.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_init_interfaces):
* ext/alsa/gstalsamixerelement.h:
Clean up and simplify alsa device probing. Make it actually work
for multiple classes. Don't cache results any longer.
* ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces),
(gst_alsasink_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose),
(gst_alsasrc_interface_supported), (gst_implements_interface_init),
(gst_alsasrc_init_interfaces), (gst_alsasrc_set_property):
Make alsasink and alsasrc implement the GstPropertyProbe interface
for device probing (#342181).
Patch by: Martin Szulecki  <gnomebugzilla at sukimashita com>
2006-05-18 17:19:39 +00:00
Tim-Philipp Müller
9d3a69fc58 ext/alsa/: Refactor and improve caps probing code: probe signedness when we probe the supported formats/widths; set e...
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_formats), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsa_detect_channels),
(gst_alsa_probe_supported_formats):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
Refactor and improve caps probing code: probe signedness
when we probe the supported formats/widths; set endianness
to the one we actually probed for (ie. cpu endianness).
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps),
(gst_alsasrc_close):
* ext/alsa/gstalsasrc.h:
Implement caps probing for alsasrc.
2006-05-16 15:52:17 +00:00
Tim-Philipp Müller
a544068471 ext/alsa/gstalsasink.c: Query supported sample rates. Fixes #341732.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
Query supported sample rates. Fixes #341732.
2006-05-15 17:17:22 +00:00
Tim-Philipp Müller
acde916f7f ext/alsa/gstalsasink.*: Don't leak allocated snd_output_t structure if there's more than one alsasink instance at a t...
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_init):
* ext/alsa/gstalsasink.h:
Don't leak allocated snd_output_t structure if there's
more than one alsasink instance at a time (#341873).
Also fix GObject macros in header file.
2006-05-15 16:46:44 +00:00
Stefan Kost
9917b1449d ext/alsa/gstalsasink.c: query witdh capabilities from alsa, fixes #338919
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps),
(alsasink_parse_spec):
query witdh capabilities from alsa, fixes #338919
2006-04-28 19:08:34 +00:00
Stefan Kost
dc3a38b9b6 ext/alsa/gstalsasink.c: More debug to trace why my USB headset is not working with gst
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec):
More debug to trace why my USB headset is not working with gst
2006-04-08 16:21:15 +00:00
j^
08047f5cfe better/unified long descriptions
Original commit message from CVS:
Patch by: j^ <j at bootlab dot org>
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/subparse/gstsubparse.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpclientsink.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpserversink.c:
* gst/tcp/gsttcpserversrc.c:
better/unified long descriptions
Fixes #336477
2006-03-29 14:00:08 +00:00
Jan Schmidt
17b06edc28 Revert accidental commits to these files.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
* win32/common/config.h:
Revert accidental commits to these files.
2006-03-17 13:11:45 +00:00
Jan Schmidt
2caf3a5639 gst/playback/gststreamselector.c: Preserve the existing buggy streamselector behaviour by performing a fallback buffe...
Original commit message from CVS:
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc):
Preserve the existing buggy streamselector behaviour by performing
a fallback buffer allocation when downstream isn't linked yet.
This should really be fixed in playbin by blocking pads until it's
linked them.
Also, use gst_pad_alloc_buffer instead of
gst_pad_alloc_buffer_and_set.
2006-03-16 10:22:27 +00:00
Jan Schmidt
28bf221806 ext/alsa/gstalsasink.c: Chain up to the parent finalize method.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise):
Chain up to the parent finalize method.
Add 32-bit sample size to the template caps.

* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add the fourcc that the VMWare codec uses.

* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc),
(gst_stream_selector_request_new_pad):
For the active pad, forward buffer-alloc requests, otherwise
return GST_FLOW_NOT_LINKED. This also prevents xvimagesink
having to memcpy every frame when used by playbin.

* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_handle_client_write):
Get negotiated caps from the sink pad, rather than the sink
pad's peer.
2006-03-15 17:59:05 +00:00
Wim Taymans
b6e0165934 Added alsa docs.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init), (gst_alsa_mixer_element_init):
* ext/alsa/gstalsamixerelement.h:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasink.h:
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init),
(gst_alsasrc_init):
* ext/alsa/gstalsasrc.h:
Added alsa docs.
Small code cleanups.
2006-03-01 18:25:18 +00:00
Wim Taymans
fd0f54c59f ext/alsa/gstalsasink.c: Also release lock when we get an error in _reset(); fix an error message.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open),
(gst_alsasink_reset):
Also release lock when we get an error in _reset();
fix an error message.
2006-02-17 09:24:56 +00:00
Tim-Philipp Müller
943dfba995 ext/alsa/gstalsasink.*: Add support for more than 2 channels (#326720).
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
(gst_alsasink_init), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsasink_getcaps),
(gst_alsasink_close):
* ext/alsa/gstalsasink.h:
Add support for more than 2 channels (#326720).
2006-02-16 21:01:23 +00:00
Wim Taymans
7aeb1d4587 ext/alsa/gstalsasink.*: Add lock to protect alsa calls.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Add lock to protect alsa calls.
Implement reset to flush samples ASAP, does not work
with dmix though.
2006-02-03 12:51:47 +00:00
Thomas Vander Stichele
786e3c74e9 ext/alsa/: Update all error messages. All of them should either use the default translated message, or actually prov...
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
(set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
(gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
(set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
(gst_alsasrc_unprepare), (gst_alsasrc_read):
Update all error messages.  All of them should either use
the default translated message, or actually provide a
translatable string.
Make the string for channel count problems meaningful.
2006-01-28 18:22:06 +00:00
Jan Schmidt
2b5b4217d4 ext/alsa/gstalsasink.c: Free the device name string.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init):
Free the device name string.

* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad),
(gst_ogg_mux_handle_src_event), (gst_ogg_mux_clear_collectpads):
Don't remove a pad from the collectpads structure until it
is released - it's a request pad, and may receive data again
if the element gets moved back to PLAYING state.

* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Ensure we turn on double buffering on the Xv port, and
set the colour key to something dark and mysterious that
isn't black.
2006-01-27 01:36:01 +00:00
Jens Granseuer
6b153515b0 GCC 2.95 fixes (#328263).
Original commit message from CVS:
2006-01-23  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsasink.c:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps),
(gst_base_rtp_depayload_add_to_queue),
(gst_base_rtp_depayload_queue_release): GCC 2.95 fixes (#328263).

Patch by: Jens Granseuer <jensgr at gmx dot net>
2006-01-23 10:10:36 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Thomas Vander Stichele
1f1bfe8a09 ext/alsa/gstalsasink.c: check for ALSA errors properly, instead of relying on ALSA's error strings to serve to the user.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
check for ALSA errors properly, instead of relying on ALSA's
error strings to serve to the user.
2005-11-10 18:47:20 +00:00
Wim Taymans
efb6fcb802 ext/alsa/gstalsasink.c: Set handle to NULL.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init),
(gst_alsasink_close):
Set handle to NULL.

* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
(gst_ring_buffer_acquire), (gst_ring_buffer_release),
(gst_ring_buffer_start), (gst_ring_buffer_pause),
(gst_ring_buffer_stop), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
More debug info.
2005-10-18 11:07:26 +00:00
Wim Taymans
81a09fc472 ext/alsa/gstalsasink.c: Also allow unsigned int.
Original commit message from CVS:
* ext/alsa/gstalsasink.c:
Also allow unsigned int.

* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Small cleanup
2005-10-10 17:04:24 +00:00
Wim Taymans
b17856db22 Fix sync again. Moved sample alignment to basesink.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_reset):
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (audioringbuffer_thread_func),
(gst_audioringbuffer_stop):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop),
(gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
(gst_ring_buffer_commit), (gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Fix sync again. Moved sample alignment to basesink.
2005-09-24 13:06:03 +00:00
Andy Wingo
1bbfa09389 ext/alsa/: Add a device-name property.
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsasink.c (gst_alsasink_get_property):
* ext/alsa/gstalsasrc.c (gst_alsasrc_get_property): Add a
device-name property.
2005-08-22 16:50:59 +00:00
Andy Wingo
69d36f02ce gst-libs/gst/audio/gstbaseaudiosink.c
Original commit message from CVS:
2005-08-08  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstbaseaudiosink.c
(gst_base_audio_sink_change_state): Open the device in NULL->READY
like good elements should. Close on READY->NULL too.

* gst-libs/gst/audio/gstaudiosink.c
(gst_audioringbuffer_open_device,
(gst_audioringbuffer_close_device, gst_audioringbuffer_acquire)
(gst_audioringbuffer_release): Updates for new ring buffer API,
hook into the new audio sink api.

* gst-libs/gst/audio/gstaudiosink.h (GstAudioSinkClass.open)
(GstAudioSinkClass.close): Just open and close the device -- no
resource allocation or configuration.
(GstAudioSinkClass.prepare, GstAudioSinkClass.unprepare): New
vmethods, handle device setup and resource allocation.

* ext/alsa/gstalsasink.c (gst_alsasink_open, gst_alsasink_close)
(gst_alsasink_prepare, gst_alsasink_unprepare): Update for new
base class API.

* gst-libs/gst/audio/gstringbuffer.h
(GstRingBufferClass.open_device, GstRingBufferClass.close_device):
New vmethods.

* gst-libs/gst/audio/gstringbuffer.c (gst_ring_buffer_open_device)
(gst_ring_buffer_close_device, gst_ring_buffer_device_is_open):
New API functions. The device should be opened before acquiring
and closed after releasing.
2005-08-08 16:42:10 +00:00
Ronald S. Bultje
be08afaabf ext/alsa/gstalsasink.c: Assign debug category, add negotiation debug msgs.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams):
Assign debug category, add negotiation debug msgs.
2005-08-08 10:16:34 +00:00
Andy Wingo
708deec535 ext/alsa/gstalsaplugin.c (plugin_init): We are primary audio sinks.
Original commit message from CVS:
2005-07-29  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsaplugin.c (plugin_init): We are primary audio
sinks.

* ext/alsa/gstalsasink.c (alsasink_sink_factory): Advertise our
support of both endiannesses.
2005-07-29 15:42:17 +00:00
Thomas Vander Stichele
9e8a11d3ce use overridable ERROR_CFLAGS; more macro splitting
Original commit message from CVS:
use overridable ERROR_CFLAGS; more macro splitting
2005-07-10 12:03:58 +00:00
Thomas Vander Stichele
33f1e1633f add device property
Original commit message from CVS:
add device property
2005-07-08 11:42:47 +00:00
Wim Taymans
dc919d1291 ext/alsa/gstalsasink.c: Get actual segment size and buffer size after opening the device.
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.
2005-05-31 11:22:33 +00:00
Wim Taymans
391c82601f ext/alsa/gstalsasink.c: Open non-blocking, set to blocking mode afterwards to avoid lockups when audio device is busy.
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.
2005-05-25 11:57:45 +00:00
Christian Schaller
ea9531ab70 fix build so you can make dist and create rpms
Original commit message from CVS:
fix build so you can make dist and create rpms
2005-05-05 15:06:40 +00:00
Wim Taymans
851547e321 ext/alsa/: Implement alsasink with simple open/write/close API.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_init), (gst_alsa_get_caps),
(gst_alsa_fixate_to_mimetype), (gst_alsa_fixate_field_nearest_int),
(gst_alsa_link), (gst_alsa_close_audio):
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_get_type),
(gst_alsasink_dispose), (gst_alsasink_base_init),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_getcaps), (set_hwparams), (set_swparams),
(alsasink_parse_spec), (gst_alsasink_open), (gst_alsasink_close),
(xrun_recovery), (gst_alsasink_write), (gst_alsasink_delay),
(gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Implement alsasink with simple open/write/close API.
Make alsa dir build by disabling compilation of code.
2005-04-28 16:19:06 +00:00
Ronald S. Bultje
708fb6e61b ext/alsa/gstalsasink.c: Implement FILLER event awareness.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Implement FILLER event awareness.
2005-02-08 13:06:41 +00:00
Jan Schmidt
d190977f1c ext/a52dec/gsta52dec.c: Add some debug output. Check that a discont has a valid time associated.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_event), (gst_a52dec_chain):
Add some debug output. Check that a discont has a valid
time associated.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop):
Ignore TAG events. A little extra debug for broken timestamps.
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop),
(dvdnavsrc_change_state):
Ensure we send a discont to engage the link before we send any
other events.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init),
(dvdreadsrc_finalize), (_close), (_open), (_seek_title),
(_seek_chapter), (seek_sector), (dvdreadsrc_get),
(dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri):
Handle URI of the form dvd://title[,chapter[,angle]]. Currently only
dvd://title works in totem because typefinding sends a seek that ends
up going back to chapter 1 regardless.
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/mpeg2dec/gstmpeg2dec.h:
Output correct timestamps and handle disconts.
* ext/ogg/gstoggdemux.c: (get_relative):
Small guard against a null dereference.
* ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize),
(gst_textoverlay_set_property):
Free memory when done. Don't call gst_event_filler_get_duration on
EOS events. Use GST_LOG and GST_WARNING instead of g_message and
g_warning.
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init),
(draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain):
Draw solid lines, prettier colours.
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
Add a default palette that'll work for some movies.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init),
(gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead):
* gst/mpegstream/gstmpegparse.h:
Use PTM/NAV events when for timestamp adjustment when connected to
dvdnavsrc. Don't use many discont events where one suffices.
* gst/playback/gstplaybasebin.c: (group_destroy),
(gen_preroll_element), (gst_play_base_bin_add_element):
* gst/playback/gstplaybasebin.h:
Make sure we remove subtitles from the same bin we put them in.
* gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_change_state):
Fix some memleaks and invalid accesses.
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find),
(oggskel_type_find), (cmml_type_find), (plugin_init):
Some typefind functions for Annodex v3.0 files
* gst/wavparse/gstwavparse.h:
GstRiffReadClass is the correct parent class.
2005-01-25 15:34:09 +00:00
Ronald S. Bultje
e8ac08c520 ext/alsa/gstalsasink.c: Safety guard.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
Safety guard.
2005-01-19 21:43:54 +00:00
Ronald S. Bultje
4dced785fe Remove all references to xvideosink, fix examples (#140845).
Original commit message from CVS:
* configure.ac:
* examples/capsfilter/capsfilter1.c: (main):
* examples/seeking/spider_seek.c: (make_spider_pipeline):
* ext/dvdread/Makefile.am:
* ext/dvdread/demo-play:
* ext/dvdread/demo-play.c:
* gconf/gstreamer.schemas.in:
* gst-libs/gst/gconf/gconf.c:
* sys/v4l/TODO:
* testsuite/Makefile.am:
* testsuite/embed/Makefile.am:
* testsuite/embed/embed.c: (cb_expose), (main):
Remove all references to xvideosink, fix examples (#140845).
* gst/playback/gstplaybasebin.c: (group_destroy):
Apparently, disposal does not unlink - so do explicitely.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Add debug.
2005-01-09 14:53:59 +00:00
Ronald S. Bultje
62787bcd62 ext/alsa/gstalsasink.c: Fix for integer overflow. Makes #156001 not crash. Probably masks the real bug.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
Fix for integer overflow. Makes #156001 not crash. Probably masks
the real bug.
2004-12-18 15:09:27 +00:00
Martin Soto
a931717c2e ext/alsa/: Make alsasink actually honor gst_element_set_clock and use that clock instead of ist internal one.
Original commit message from CVS:
2004-11-28  Martin Soto  <martinsoto@users.sourceforge.net>

* ext/alsa/gstalsasink.c (gst_alsa_sink_loop):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsa.c (gst_alsa_set_clock):
Make alsasink actually honor gst_element_set_clock and use that
clock instead of ist internal one.
2004-11-28 13:35:44 +00:00
Benjamin Otte
1cb0235a08 ext/alsa/gstalsa.c: add debugging
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_pcm_wait):
add debugging
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
do a wait when we enter the loop func with no data available to
write instead of getting into an 100% CPU loop by just returning and
being called again by the scheduler
2004-11-13 01:08:31 +00:00
Ronald S. Bultje
618e9b77f9 ext/alsa/gstalsasink.c: Fix for negotiation order problem. This would show when the
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
Fix for negotiation order problem. This would show when the
ALSA loopfuction was called before any other function. ALSA
wouldn't do anything because we're not negotiated yet, leading
to an infinite loop. Showed in e.g. Rhythmbox. Fixes #158006.
2004-11-12 10:07:46 +00:00
Ronald S. Bultje
f04b458d87 ext/alsa/gstalsasink.c: This seems to be antique leftover. It needs to pass error checking.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
This seems to be antique leftover. It needs to pass error
checking.
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
(gst_sdlvideosink_deinitsdl), (gst_sdlvideosink_initsdl),
(gst_sdlvideosink_destroy), (gst_sdlvideosink_create),
(gst_sdlvideosink_sinkconnect), (gst_sdlvideosink_chain):
Fix GstXOverlay implementation (#151059).
2004-11-10 22:01:19 +00:00
Ronald S. Bultje
5aa107a360 ext/alsa/gstalsasink.c: Fix bytes/samples confustion.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
Fix bytes/samples confustion.
(gst_alsa_sink_mmap), (gst_alsa_sink_loop):
Fix for underrun (#144389).
2004-11-10 14:53:49 +00:00
Ronald S. Bultje
b709c6844b ext/alsa/gstalsamixer.c: Update mixer (to sync with other sessions) if we try to obtain a new value. This makes alsam...
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.
2004-09-13 09:24:00 +00:00
Thomas Vander Stichele
c750d9bd49 don't assert in state change
Original commit message from CVS:
don't assert in state change
2004-07-09 10:56:51 +00:00
Thomas Vander Stichele
253c4e7267 ext/alsa/: - add debugging info
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_drain_audio):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_flush_one_pad),
(gst_alsa_sink_check_event), (gst_alsa_sink_mmap),
(gst_alsa_sink_write), (gst_alsa_sink_loop):
* ext/alsa/gstalsasink.h:
- add debugging info
- clean up schizophrenia of data/buffer/event
- fix double event unref error
2004-07-08 13:40:37 +00:00
Benjamin Otte
9b249a2467 ext/alsa/gstalsa.c: use our own functions for restarting the alsa device.
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
2004-07-03 12:48:30 +00:00
Wim Taymans
e56c174f8d ext/alsa/: Add clock to alsasrc. Take new capture timestamp when restarting after an overrun. Split up some functions...
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.
2004-06-23 18:08:26 +00:00
Thomas Vander Stichele
96c2a15318 merge back from release
Original commit message from CVS:
merge back from release
2004-06-23 16:57:16 +00:00
Benjamin Otte
278e55e65c ext/alsa/gstalsasink.c: handle discont events if they happen before caps nego
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
handle discont events if they happen before caps nego
2004-06-07 20:44:55 +00:00
Benjamin Otte
b0d718fcc3 ext/alsa/gstalsa.c: cast to GstClockTime to get higher granularity
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)
2004-06-07 01:41:37 +00:00