From: Daniel Baluta <daniel.baluta@nxp.com>
To: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Cc: "vkoul@kernel.org" <vkoul@kernel.org>,
"ckeepax@opensource.cirrus.com" <ckeepax@opensource.cirrus.com>,
"S.j. Wang" <shengjiu.wang@nxp.com>
Subject: Re: [RFC PATCH] cplay: Always write frag * fragment_size
Date: Thu, 8 Nov 2018 14:37:43 +0000 [thread overview]
Message-ID: <1541687863.3164.87.camel@nxp.com> (raw)
In-Reply-To: <1541427790-27876-1-git-send-email-daniel.baluta@nxp.com>
Hi Vinod,
Just noticed that this patch is similar with this one for crecord
http://git.alsa-project.org/?p=tinycompress.git;a=commit;h=e8e36567438c
16a5121943205a0cd8c63924d0d8
So, I think we can remove the RFC tag :).
thanks,
Daniel.
On Lu, 2018-11-05 at 14:23 +0000, Daniel Baluta wrote:
> cplay first writes frag * fragment_size and then
> it only writes one fragment at a time.
>
> This means for example than if the user supplied a buffer_size
> it will only be used for the first write.
>
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> ---
> I noticed this while investigating why cplay prints buffer_size as
> 0 when not specified as command line argument to cplay.
>
> I also noticed that cred always reads frag * frament_size, so I think
> this patch should be OK, but marking it as RFC to get your thoughts.
>
> src/utils/cplay.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/utils/cplay.c b/src/utils/cplay.c
> index 2a52b52..b016f52 100644
> --- a/src/utils/cplay.c
> +++ b/src/utils/cplay.c
> @@ -435,15 +435,15 @@ void play_samples(char *name, unsigned int
> card, unsigned int device,
> };
> if (verbose)
> printf("%s: Opened compress device\n", __func__);
> - size = config.fragment_size;
> - buffer = malloc(size * config.fragments);
> + size = config.fragments * config.fragment_size;
> + buffer = malloc(size);
> if (!buffer) {
> fprintf(stderr, "Unable to allocate %d bytes\n",
> size);
> goto COMP_EXIT;
> }
>
> /* we will write frag fragment_size and then start */
> - num_read = fread(buffer, 1, size * config.fragments, file);
> + num_read = fread(buffer, 1, size, file);
> if (num_read > 0) {
> if (verbose)
> printf("%s: Doing first buffer write of
> %d\n", __func__, num_read);
> @@ -459,7 +459,7 @@ void play_samples(char *name, unsigned int card,
> unsigned int device,
> }
> }
> printf("Playing file %s On Card %u device %u, with buffer of
> %lu bytes\n",
> - name, card, device, buffer_size);
> + name, card, device, size);
> printf("Format %u Channels %u, %u Hz, Bit Rate %d\n",
> codec.id, codec.ch_in, codec.sample_rate,
> codec.bit_rate);
>
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2018-11-08 14:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-05 14:23 [RFC PATCH] cplay: Always write frag * fragment_size Daniel Baluta
2018-11-08 14:37 ` Daniel Baluta [this message]
2018-11-08 15:21 ` Charles Keepax
2018-11-13 14:52 ` Vinod Koul
2018-11-14 6:59 ` Daniel Baluta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1541687863.3164.87.camel@nxp.com \
--to=daniel.baluta@nxp.com \
--cc=alsa-devel@alsa-project.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=shengjiu.wang@nxp.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.