Commit graph

45 commits

Author SHA1 Message Date
Tim-Philipp Müller
5c279f449a ext/alsa/: 'Could not open resource for writing' is not an acceptable even less so when we're trying to open it to re...
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_open):
'Could not open resource for writing' is not an acceptable
error message when we can't open the audio device (see #492334),
even less so when we're trying to open it to record something.
2007-11-03 10:39:21 +00:00
David Schleef
1beb98e6dc ext/alsa/: Change alsa alloca's to malloc to fix warnings on gcc-4.2.
Original commit message from CVS:
* ext/alsa/gstalsa.c:
* ext/alsa/gstalsadeviceprobe.c:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
Change alsa alloca's to malloc to fix warnings on gcc-4.2.
2007-09-16 01:56:21 +00:00
Jan Schmidt
fc50d2dc64 ext/alsa/Makefile.am: There is no GST_PLUGINS_BASE_LIBS defined.
Original commit message from CVS:
* ext/alsa/Makefile.am:
There is no GST_PLUGINS_BASE_LIBS defined.
* ext/alsa/gstalsa.c:
* ext/alsa/gstalsasink.c: (gst_alsasink_delay):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_delay):
Add support for ALSA 24-bit formats.
snd_pcm_delay can return an error code, especially
during XRUNS. In that case, the best we can do is assume
delay = 0.
* gst/audioconvert/Makefile.am:
Add flags from -base before any more-remote dependencies.
2007-08-24 15:28:33 +00:00
Wim Taymans
1d0e1586d8 ext/alsa/gstalsasink.*: Remove unused dispose function.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
(gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Remove unused dispose function.
Rename lock to not interfere with alsasrc lock.
* ext/alsa/gstalsasrc.c: (gst_alsasrc_finalize),
(gst_alsasrc_class_init), (gst_alsasrc_init), (set_swparams),
(gst_alsasrc_read), (gst_alsasrc_reset):
* ext/alsa/gstalsasrc.h:
Implement finalize function.
Use lock to protect alsa access.
Implement _reset.
Fine tune sw params.
2007-03-01 16:48:45 +00:00
Julien Puydt
880da4d8f1 ext/alsa/: Improve device-name detection a bit, especially in the case where the device is not actually open (#405020...
Original commit message from CVS:
Based on patch by: Julien Puydt <julien.puydt at laposte net>
* ext/alsa/gstalsa.c: (gst_alsa_find_device_name_no_handle),
(gst_alsa_find_device_name):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_get_property):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_get_property):
Improve device-name detection a bit, especially in the case where
the device is not actually open (#405020, #405024). Move common code
into gstalsa.c instead of duplicating it.
2007-02-08 15:43:26 +00:00
Wim Taymans
d3b4878bd8 ext/alsa/: Use DEBUG_OBJECT more.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (xrun_recovery), (gst_alsasink_write):
* ext/alsa/gstalsasrc.c: (xrun_recovery), (gst_alsasrc_read):
Use DEBUG_OBJECT more.
2006-09-15 09:09:00 +00:00
Wim Taymans
e71487073c ext/alsa/: Avoid setting and using a NULL device name.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_set_property),
(gst_alsasink_open):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_set_property),
(gst_alsasrc_open):
Avoid setting and using a NULL device name.
Print more info when we fail to open a device.
2006-08-16 11:38:52 +00:00
Michael Sheldon
1df142aa5e ext/alsa/gstalsasrc.c: Add 32 bps to template caps and increase channels range from [1,2] to [1,MAX]. See #346326.
Original commit message from CVS:
Patch by: Michael Sheldon  <webmaster at mikeasoft com>
* ext/alsa/gstalsasrc.c:
Add 32 bps to template caps and increase channels range
from [1,2] to [1,MAX]. See #346326.
2006-07-02 11:08:58 +00:00
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
Stefan Kost
e972defd3e make GstElementDetails const
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsasrc.c:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* ext/ogg/gstogmparse.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-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiorate/gstaudiorate.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.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:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/v4l/gstv4ljpegsrc.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* sys/v4l/gstv4lsrc.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
* tests/check/libs/cddabasesrc.c:
make GstElementDetails const
2006-04-28 19:46:37 +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
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
Edward Hervey
f6e07c542f ext/alsa/gstalsasrc.c: Set proper class on the ElementDetails:
Original commit message from CVS:
* ext/alsa/gstalsasrc.c:
Set proper class on the ElementDetails:
Source/Audio instead of Src/Audio
2006-02-28 13:52:04 +00:00
Wim Taymans
9285b34cdb ext/alsa/gstalsasrc.c: Fix description as pointed out by caugier.
Original commit message from CVS:
* ext/alsa/gstalsasrc.c:
Fix description as pointed out by caugier.
2006-02-22 18:46:46 +00:00
Andy Wingo
4ae63e7361 gst-libs/gst/audio/gstringbuffer.c
Original commit message from CVS:
2006-02-09  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstringbuffer.c
(gst_ring_buffer_samples_done): Cast to guint64, fixes an integer
overflow after 13.5 hours of recording. Kapow!

* ext/alsa/gstalsasrc.c (gst_alsasrc_delay): Clamp the delay to
the buffer size -- we don't care about underrun/overrun reporting
right now, just need to return a useful value.
2006-02-09 11:36:18 +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
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +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
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
13b122a106 gst-libs/gst/audio/gstaudiosrc.*: Implement open_device and close_device in the ring buffer, like gstaudiosink.
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstaudiosrc.h:
* gst-libs/gst/audio/gstaudiosrc.c: Implement open_device and
close_device in the ring buffer, like gstaudiosink.

* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixer.c: Not a GObject any more. Include a nifty
macro to implement the interface without much code. Cleanups.

* ext/alsa/gstalsasrc.h:
* ext/alsa/gstalsasrc.c: Be a mixer. Open device and mixer in
READY.

* ext/alsa/Makefile.am: Add new files.
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsamixerelement.c: Split element code out from
mixer code so that alsasrc can be a mixer too.
2005-08-22 15:11:31 +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
ceb88a7777 Added audiosource base classes.
Original commit message from CVS:
Added audiosource base classes.
Ported alsasrc, still very basic.
2005-07-06 15:27:17 +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
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
42d83d0474 make provided clock run in sync
Original commit message from CVS:
make provided clock run in sync
2004-06-25 17:11:32 +00:00
Wim Taymans
1bb09c4352 ext/alsa/: Use alsa trigger_tstamp to get the timestamp of the first sample in the buffer for more precise sync. Some...
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.
2004-06-24 12:53:17 +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
Wim Taymans
148c90439a ext/alsa/: Cleanups, take queued samples into account when reporting the time.
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.
2004-06-22 12:01:33 +00:00
Wim Taymans
a48818210d ext/alsa/: Make the xrun code timestamp and offset the buffers correctly. moved the clock to the base class, use alsa...
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.
2004-06-17 14:10:21 +00:00
Thomas Vander Stichele
0c922cc90d check error code correctly
Original commit message from CVS:
check error code correctly
2004-06-02 17:20:13 +00:00
Thomas Vander Stichele
571a5cd7a6 use ssize_t over size_t avoid segfault in alsa
Original commit message from CVS:

use ssize_t over size_t
avoid segfault in alsa
2004-06-02 16:50:50 +00:00
Benjamin Otte
f1479afe49 ext/alsa/gstalsasrc.c: don't use a fixed buffer size when writing variable length data to it. Fixes memory corruption...
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_loop):
don't use a fixed buffer size when writing variable length data to
it. Fixes memory corruption and makes alsasrc work
2004-05-09 17:25:16 +00:00
Ronald S. Bultje
7fa3cd3b18 ext/alsa/: Make alsasink/src a subclass of alsamixer so that mixer stuff shows up in gst-rec. Needs some finetuning.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_type),
(gst_alsa_sink_class_init):
* ext/alsa/gstalsasink.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_get_type),
(gst_alsa_src_class_init):
* ext/alsa/gstalsasrc.h:
Make alsasink/src a subclass of alsamixer so that mixer stuff
shows up in gst-rec. Needs some finetuning.
2004-05-07 04:56:56 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Thomas Vander Stichele
8336c47f0c change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Thomas Vander Stichele
03caa97b73 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Thomas Vander Stichele
b95a710d41 use new error signal and classification
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
David Schleef
37d7aecdb6 Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
2004-01-12 03:40:18 +00:00
David Schleef
532c5eea39 ext/alsa/gstalsasrc.c: Remove bogus "src" request pad.
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory),
(gst_alsa_src_base_init): Remove bogus "src" request pad.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init),
(gst_mpeg_parse_class_init): Move pad template registration
to class_init, since the derived class (mpegdemux) doesn't
want them.
2004-01-03 01:27:31 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Benjamin Otte
280c25766a fixes for recent changes:
Original commit message from CVS:
fixes for recent changes:
- GstAlsaClock is not a GstSystemClock
- initialize debugging system correctly
2003-11-18 15:32:52 +00:00
Leif Johnson
f3b328da39 splitting ALSA code into separate source files
Original commit message from CVS:
splitting ALSA code into separate source files
2003-11-16 00:40:01 +00:00