On Fri, Oct 24, 2014 at 10:07:23PM +0200, Lukasz Marek wrote: > On 23.10.2014 14:28, Nicolas George wrote: > >Le primidi 1er brumaire, an CCXXIII, Lukasz Marek a écrit : > >>It gives the same list as aplay -L (upper case). For example (ffmpeg will > >>display it in different way, but the content is the same) > > > >I thought for a time that "dmix:CARD=PCH,DEV=0" had placeholders: PCH needed > >to be replaced by an actual parameter, but I see now that I am wrong. > > > >If all the listed device names are actually valid as is, then it should be > >ok. > > > >Is the doc clear enough that the list is not exhaustive, and that an > >application should leave the user enter a free-form device name? > > Yes. > > >>default > >> Playback/recording through the PulseAudio sound server > >For some reason (probably my strange ALSA config), I do not have that entry > >in the output of aplay -L. Maybe "default" needs a special case. > > According to this > http://www.alsa-project.org/main/index.php/Asoundrc > "The keyword default is defined in the ALSA lib API and will always > access hw:0,0 — the default device on the default soundcard. > Specifying the !default name supersedes the one defined in the ALSA > lib API." > > I have pulse-alsa.conf instaled from pulseaudio deb, that is > included in alsa config: > > pcm.!default { > type pulse > hint { > show on > description "Playback/recording through the PulseAudio sound > server" > } > } > > ctl.!default { > type pulse > } > > So everything seems to be OK. > > Updated patch is attached. >
> alsa-audio-common.c | 76 > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > alsa-audio-dec.c | 6 ++++ > alsa-audio-enc.c | 6 ++++ > alsa-audio.h | 2 + > 4 files changed, 90 insertions(+) > 065a0165efbe9da625feb164bb8a4d4e1be0796c > 0002-lavd-alsa-implement-get_device_list-callbacks.patch > From b88dc6133a958a6ecc0fe806739f3b688499f619 Mon Sep 17 00:00:00 2001 > From: Lukasz Marek <lukasz.m.lu...@gmail.com> > Date: Tue, 26 Aug 2014 20:30:35 +0200 > Subject: [PATCH 2/2] lavd/alsa: implement get_device_list callbacks > > --- > libavdevice/alsa-audio-common.c | 76 > +++++++++++++++++++++++++++++++++++++++++ > libavdevice/alsa-audio-dec.c | 6 ++++ > libavdevice/alsa-audio-enc.c | 6 ++++ > libavdevice/alsa-audio.h | 2 ++ > 4 files changed, 90 insertions(+) > > diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c > index 4e63397..60839f4 100644 > --- a/libavdevice/alsa-audio-common.c > +++ b/libavdevice/alsa-audio-common.c > @@ -343,3 +343,79 @@ int ff_alsa_extend_reorder_buf(AlsaData *s, int min_size) > s->reorder_buf_size = size; > return 0; > } > + > +/* ported from alsa-utils/aplay.c */ > +int ff_alsa_get_device_list(AVDeviceInfoList *device_list, snd_pcm_stream_t > stream_type) > +{ > + int ret = 0; > + void **hints, **n; > + char *name = NULL, *descr = NULL, *io = NULL, *tmp; > + AVDeviceInfo *new_device = NULL; > + const char *filter = stream_type == SND_PCM_STREAM_PLAYBACK ? "Output" : > "Input"; > + > + if (snd_device_name_hint(-1, "pcm", &hints) < 0) > + return AVERROR_EXTERNAL; > + n = hints; > + while (*n) { > + tmp = snd_device_name_get_hint(*n, "NAME"); > + name = av_strdup(tmp); > + if (tmp && !name) { > + ret = AVERROR(ENOMEM); > + goto fail; > + } > + free(tmp); > + tmp = snd_device_name_get_hint(*n, "DESC"); > + descr = av_strdup(tmp); > + if (tmp && !descr) { > + ret = AVERROR(ENOMEM); > + goto fail; > + } > + free(tmp); > + tmp = snd_device_name_get_hint(*n, "IOID"); > + io = av_strdup(tmp); > + if (tmp && !io) { > + ret = AVERROR(ENOMEM); > + goto fail; > + } > + free(tmp); doesnt mem leak in case of the goto fails ? i dont see where its freed no further comments from me [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 1 "Used only once" - "Some unspecified defect prevented a second use" "In good condition" - "Can be repaird by experienced expert" "As is" - "You wouldnt want it even if you were payed for it, if you knew ..."
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel