Tim Goetze wrote:
> 
> Jaroslav Kysela wrote:
> 
> >Hello all,
> >
> >       I need your advice here. The current snd_pcm_mmap_commit()
> >function returns zero or an error. I've added a new function
> >snd_pcm_mmap_commit_partial() to detect partial transfers as well:
> >
> >int snd_pcm_mmap_commit(snd_pcm_t *pcm,
> >                        snd_pcm_uframes_t offset,
> >                        snd_pcm_uframes_t frames);
> >int snd_pcm_mmap_commit_partial(snd_pcm_t *pcm,
> >                                snd_pcm_uframes_t offset,
> >                                snd_pcm_uframes_t frames,
> >                                snd_pcm_uframes_t *commited);
> >
> >Abramo doesn't like new function so much, so I need your vote here, if:
> >
> >1) change snd_pcm_mmap_commit prototype to
> >
> >snd_pcm_sframes_t snd_pcm_mmap_commit(snd_pcm_t *pcm,
> >                                     snd_pcm_uframes_t offset,
> >                                     snd_pcm_uframes_t frames);
> >
> >2) leave the current API as is (two separate commit functions)
> >
> >3) remove snd_pcm_mmap_commit() and rename
> >   snd_pcm_mmap_commit_partial() to snd_pcm_mmap_commit() although
> >   it makes necessary to add an extra parameter to all existing
> >   applications (NULL can be taken as "I don't care")
> >
> >
> >I see the benefit of the extra parameter, that we can return the error
> >code and transfer count in one pass. Otherwise the error code can be lost
> >or returned later using another function like snd_pcm_avail_update() etc..
> 
> as a programmer i'd say, yes i'd like to be informed about partial
> transfers.
> 
> i'd make snd_pcm_mmap_commit return -errno in case of error and number of
> frames commited otherwise.
> that's approximately what read/write(2) do, and that's what i'd prefer.

Jaroslav point is that in this way you can't know *both* error and
frames count.

You lose the error info (or delay its return). 

-- 
Abramo Bagnara                       mailto:[EMAIL PROTECTED]

Opera Unica                          Phone: +39.546.656023
Via Emilia Interna, 140
48014 Castel Bolognese (RA) - Italy

ALSA project               http://www.alsa-project.org
It sounds good!

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to