audiomixer gaps

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

audiomixer gaps

jim nualart
Hi,
Hoping that someone can shed some light on this...

The following pipeline results in a file with gaps every 5 seconds:
export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true do-timestamp=true samplesperbuffer=480"
export SINK="wavenc ! filesink location=test.wav"
timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK

If you open the resulting wav file (e.g., in audacity), there are gaps every 5 seconds.

If you remove the audiomixer from the pipeline, there are no gaps. If you use an adder (instead of the audiomixer), there are no gaps.

I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious errors/warnings/etc.

I realize that the audiotestsrc is not really a live-source and I'm not sure how well it behaves as such. But I am actually troubleshooting a similar issue using an alsasrc instead. I am hoping that if I understand what's going on here, it will help on the other issue. (For the issue with the alsasrc, I've gone so far as to write the data to files; one at the src of the element feeding the audiomixer, and one at the src of the audiomixer itself -- the first shows no gaps, while the later does show gaps.)

Many thanks in advance to any advice.
-jim 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

Matthew Waters
Don't use 'do-timestamp=true' with audiotestsrc.  It will not do the right thing.

Cheers
-Matt

On 8/12/20 5:12 pm, jim nualart wrote:
Hi,
Hoping that someone can shed some light on this...

The following pipeline results in a file with gaps every 5 seconds:
export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true do-timestamp=true samplesperbuffer=480"
export SINK="wavenc ! filesink location=test.wav"
timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK

If you open the resulting wav file (e.g., in audacity), there are gaps every 5 seconds.

If you remove the audiomixer from the pipeline, there are no gaps. If you use an adder (instead of the audiomixer), there are no gaps.

I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious errors/warnings/etc.

I realize that the audiotestsrc is not really a live-source and I'm not sure how well it behaves as such. But I am actually troubleshooting a similar issue using an alsasrc instead. I am hoping that if I understand what's going on here, it will help on the other issue. (For the issue with the alsasrc, I've gone so far as to write the data to files; one at the src of the element feeding the audiomixer, and one at the src of the audiomixer itself -- the first shows no gaps, while the later does show gaps.)

Many thanks in advance to any advice.
-jim 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

OpenPGP_signature (505 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

jim nualart
In reply to this post by jim nualart
Hi Matt,
I tried that as well. I get the same result .. gaps every 5 seconds.

If I remove is-live (with or without do-timestamp), then there are no gaps. However, in this case, I also get a much larger, and longer, file; which I don't understand.

And again, if I use an adder (vs audiomixer), I get no gaps (with is-live and do-timestamp both true). And if I remove the adder, same ... no gaps.

I'm trying not to get hung up on audiotestsrc itself as it is simply a way for me to demonstrate what I see with my pipeline using alsasrc and an audiomixer.

I suppose I don't really understand what audiomixer is doing. Another oddity (I think) is that if instead of running the sample pipeline for a set time (using the timeout command), I instead use num-buffers=1000 (in audiotestsrc), I get different resulting file sizes:
- with an adder, I get a file with 10.884s of audio and a size of 960056 bytes.
- with an audiomixer, I get a file with 10.920s of audio and a size of 1926332 bytes.

Any chance someone is willing to run the same test and compare results?
export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true do-timestamp=true samplesperbuffer=480"
export SINK="wavenc ! filesink location=test.wav"
timeout 60 gst-launch-1.0 $TESTSOURCE1 blocksize=960 ! audiomixer ! $SINK

The gaps go away if I use an adder, as does my actual problem in my "real" pipeline, but I'd like to understand why.

thanks in advance,
-jim
 
Date: Tue, 8 Dec 2020 19:05:25 +1100
From: Matthew Waters <[hidden email]>

Don't use 'do-timestamp=true' with audiotestsrc.? It will not do the
right thing.

Cheers
-Matt

On 8/12/20 5:12 pm, jim nualart wrote:
> Hi,
> Hoping that someone can shed some light on this...
>
> The following pipeline results in a file with gaps every 5 seconds:
> export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> do-timestamp=true samplesperbuffer=480"
> export SINK="wavenc ! filesink location=test.wav"
> timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK
>
> If you open the resulting wav file (e.g., in audacity), there are gaps
> every 5 seconds.
>
> If you remove the audiomixer?from the pipeline, there are no gaps. If
> you use an adder (instead of the audiomixer), there are no gaps.
>
> I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious
> errors/warnings/etc.
>
> I realize that the audiotestsrc is not really a live-source and I'm
> not sure how well it behaves as such. But I am actually
> troubleshooting a similar issue using an alsasrc instead. I am hoping
> that if I understand what's going on here, it will help on the other
> issue. (For the issue with the alsasrc, I've gone so far as to write
> the data to files; one at the src of the element feeding the
> audiomixer, and one at the src of the audiomixer itself -- the first
> shows no gaps, while the later does show gaps.)
>
> Many thanks in advance to any advice.
> -jim
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

jim nualart
In reply to this post by jim nualart
A little more info on this...

1. By "gaps", I mean silence or 0s. And this is not simply an artifact of using filesrc to write a wav. The gaps are also audible (or rather, not audible, since it's silence, but I think everyone knows what I mean :-)

2. As I mentioned previously, I see the same behavior (gaps) if I replace audiotestsrc with alsasrc (pointing to a line-in where I am playing a sine wave from my phone).

3. Enabling GST_DEBUG=audioaggregator:5 I see a Timeout msg, e.g., "Timeout, missing 36 frames (0:00:00.000816326)" that corresponds to all the gaps in the resulting wav file.

Based on that, I start to think that maybe I need to set a latency on the audiomixer (the default is 0). However, no value I use makes any difference.

Next, and I can't explain why, I put a queue immediately after the audiomixer (no latency or other non-default settings). This eliminates the Timeouts (and gaps of silence). This holds true when I switch back to an alsasrc instead of the audiotestsrc.

I dumped the graphs -- the queue (it's the only queue in the very short pipeline) does not show as buffering any data. So I am really confused as to how this "fixed" the issue.

Does anyone have an explanation? I'd settle for even just a well-written theory :-)

thanks in advance,
-jim


 
Hi Matt,
I tried that as well. I get the same result .. gaps every 5 seconds.

If I remove is-live (with or without do-timestamp), then there are no gaps.
However, in this case, I also get a much larger, and longer, file; which I
don't understand.

And again, if I use an adder (vs audiomixer), I get no gaps (with is-live
and do-timestamp both true). And if I remove the adder, same ... no gaps.

I'm trying not to get hung up on audiotestsrc itself as it is simply a way
for me to demonstrate what I see with my pipeline using alsasrc and an
audiomixer.

I suppose I don't really understand what audiomixer is doing. Another
oddity (I think) is that if instead of running the sample pipeline for a
set time (using the timeout command), I instead use num-buffers=1000 (in
audiotestsrc), I get different resulting file sizes:
- with an adder, I get a file with 10.884s of audio and a size of 960056
bytes.
- with an audiomixer, I get a file with 10.920s of audio and a size
of 1926332 bytes.

Any chance someone is willing to run the same test and compare results?
export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
do-timestamp=true samplesperbuffer=480"
export SINK="wavenc ! filesink location=test.wav"
timeout 60 gst-launch-1.0 $TESTSOURCE1 blocksize=960 ! audiomixer ! $SINK

The gaps go away if I use an adder, as does my actual problem in my "real"
pipeline, but I'd like to understand why.

thanks in advance,
-jim


> Date: Tue, 8 Dec 2020 19:05:25 +1100
> From: Matthew Waters <[hidden email]>
>
> Don't use 'do-timestamp=true' with audiotestsrc.? It will not do the
> right thing.
>
> Cheers
> -Matt
>
> On 8/12/20 5:12 pm, jim nualart wrote:
> > Hi,
> > Hoping that someone can shed some light on this...
> >
> > The following pipeline results in a file with gaps every 5 seconds:
> > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > do-timestamp=true samplesperbuffer=480"
> > export SINK="wavenc ! filesink location=test.wav"
> > timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK
> >
> > If you open the resulting wav file (e.g., in audacity), there are gaps
> > every 5 seconds.
> >
> > If you remove the audiomixer?from the pipeline, there are no gaps. If
> > you use an adder (instead of the audiomixer), there are no gaps.
> >
> > I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious
> > errors/warnings/etc.
> >
> > I realize that the audiotestsrc is not really a live-source and I'm
> > not sure how well it behaves as such. But I am actually
> > troubleshooting a similar issue using an alsasrc instead. I am hoping
> > that if I understand what's going on here, it will help on the other
> > issue. (For the issue with the alsasrc, I've gone so far as to write
> > the data to files; one at the src of the element feeding the
> > audiomixer, and one at the src of the audiomixer itself -- the first
> > shows no gaps, while the later does show gaps.)
> >
> > Many thanks in advance to any advice.
> > -jim
> >
> > _______________________________________________



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

Nicolas Dufresne-5
Le samedi 12 décembre 2020 à 13:21 -0600, jim nualart a écrit :

> A little more info on this...
>
> 1. By "gaps", I mean silence or 0s. And this is not simply an artifact of
> using filesrc to write a wav. The gaps are also audible (or rather, not
> audible, since it's silence, but I think everyone knows what I mean :-)
>
> 2. As I mentioned previously, I see the same behavior (gaps) if I replace
> audiotestsrc with alsasrc (pointing to a line-in where I am playing a sine
> wave from my phone).
>
> 3. Enabling GST_DEBUG=audioaggregator:5 I see a Timeout msg, e.g., "Timeout,
> missing 36 frames (0:00:00.000816326)" that corresponds to all the gaps in the
> resulting wav file.
>
> Based on that, I start to think that maybe I need to set a latency on the
> audiomixer (the default is 0). However, no value I use makes any difference.
>
> Next, and I can't explain why, I put a queue immediately after the
> audiomixer (no latency or other non-default settings). This eliminates the
> Timeouts (and gaps of silence). This holds true when I switch back to an
> alsasrc instead of the audiotestsrc.

I have also hit situation were a queue was needed after audiomixer /
audiointerleave in order for the timeout mechanism to work properly. Basically,
push-back from downstream can delay the aggregator passed it's timeout, and you
may endup in that state forever.

This is a limitation of the timeout mechanism I believe, at least I don't see
other way around to make this timeout behave like intented.

>
> I dumped the graphs -- the queue (it's the only queue in the very short
> pipeline) does not show as buffering any data. So I am really confused as to
> how this "fixed" the issue.
>
> Does anyone have an explanation? I'd settle for even just a well-written
> theory :-)
>
> thanks in advance,
> -jim
>
>
>  
> > Hi Matt,
> > I tried that as well. I get the same result .. gaps every 5 seconds.
> >
> > If I remove is-live (with or without do-timestamp), then there are no gaps.
> > However, in this case, I also get a much larger, and longer, file; which I
> > don't understand.
> >
> > And again, if I use an adder (vs audiomixer), I get no gaps (with is-live
> > and do-timestamp both true). And if I remove the adder, same ... no gaps.
> >
> > I'm trying not to get hung up on audiotestsrc itself as it is simply a way
> > for me to demonstrate what I see with my pipeline using alsasrc and an
> > audiomixer.
> >
> > I suppose I don't really understand what audiomixer is doing. Another
> > oddity (I think) is that if instead of running the sample pipeline for a
> > set time (using the timeout command), I instead use num-buffers=1000 (in
> > audiotestsrc), I get different resulting file sizes:
> > - with an adder, I get a file with 10.884s of audio and a size of 960056
> > bytes.
> > - with an audiomixer, I get a file with 10.920s of audio and a size
> > of 1926332 bytes.
> >
> > Any chance someone is willing to run the same test and compare results?
> > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > do-timestamp=true samplesperbuffer=480"
> > export SINK="wavenc ! filesink location=test.wav"
> > timeout 60 gst-launch-1.0 $TESTSOURCE1 blocksize=960 ! audiomixer ! $SINK
> >
> > The gaps go away if I use an adder, as does my actual problem in my "real"
> > pipeline, but I'd like to understand why.
> >
> > thanks in advance,
> > -jim
> >
> >
> > > Date: Tue, 8 Dec 2020 19:05:25 +1100
> > > From: Matthew Waters <[hidden email]>
> > >
> > > Don't use 'do-timestamp=true' with audiotestsrc.? It will not do the
> > > right thing.
> > >
> > > Cheers
> > > -Matt
> > >
> > > On 8/12/20 5:12 pm, jim nualart wrote:
> > > > Hi,
> > > > Hoping that someone can shed some light on this...
> > > >
> > > > The following pipeline results in a file with gaps every 5 seconds:
> > > > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > > > do-timestamp=true samplesperbuffer=480"
> > > > export SINK="wavenc ! filesink location=test.wav"
> > > > timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK
> > > >
> > > > If you open the resulting wav file (e.g., in audacity), there are gaps
> > > > every 5 seconds.
> > > >
> > > > If you remove the audiomixer?from the pipeline, there are no gaps. If
> > > > you use an adder (instead of the audiomixer), there are no gaps.
> > > >
> > > > I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious
> > > > errors/warnings/etc.
> > > >
> > > > I realize that the audiotestsrc is not really a live-source and I'm
> > > > not sure how well it behaves as such. But I am actually
> > > > troubleshooting a similar issue using an alsasrc instead. I am hoping
> > > > that if I understand what's going on here, it will help on the other
> > > > issue. (For the issue with the alsasrc, I've gone so far as to write
> > > > the data to files; one at the src of the element feeding the
> > > > audiomixer, and one at the src of the audiomixer itself -- the first
> > > > shows no gaps, while the later does show gaps.)
> > > >
> > > > Many thanks in advance to any advice.
> > > > -jim
> > > >
> > > > _______________________________________________
> >
> >
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

David Ing
In gstreamer, a queue is also a thread boundary.  By adding queues you are adding threads.  My theory:  In your scenario, the extra queue (with thread) may be allowing audio information to flow through your pipeline more freely.

On Mon, Dec 14, 2020 at 7:35 AM Nicolas Dufresne <[hidden email]> wrote:
Le samedi 12 décembre 2020 à 13:21 -0600, jim nualart a écrit :
> A little more info on this...
>
> 1. By "gaps", I mean silence or 0s. And this is not simply an artifact of
> using filesrc to write a wav. The gaps are also audible (or rather, not
> audible, since it's silence, but I think everyone knows what I mean :-)
>
> 2. As I mentioned previously, I see the same behavior (gaps) if I replace
> audiotestsrc with alsasrc (pointing to a line-in where I am playing a sine
> wave from my phone).
>
> 3. Enabling GST_DEBUG=audioaggregator:5 I see a Timeout msg, e.g., "Timeout,
> missing 36 frames (0:00:00.000816326)" that corresponds to all the gaps in the
> resulting wav file.
>
> Based on that, I start to think that maybe I need to set a latency on the
> audiomixer (the default is 0). However, no value I use makes any difference.
>
> Next, and I can't explain why, I put a queue immediately after the
> audiomixer (no latency or other non-default settings). This eliminates the
> Timeouts (and gaps of silence). This holds true when I switch back to an
> alsasrc instead of the audiotestsrc.

I have also hit situation were a queue was needed after audiomixer /
audiointerleave in order for the timeout mechanism to work properly. Basically,
push-back from downstream can delay the aggregator passed it's timeout, and you
may endup in that state forever.

This is a limitation of the timeout mechanism I believe, at least I don't see
other way around to make this timeout behave like intented.

>
> I dumped the graphs -- the queue (it's the only queue in the very short
> pipeline) does not show as buffering any data. So I am really confused as to
> how this "fixed" the issue.
>
> Does anyone have an explanation? I'd settle for even just a well-written
> theory :-)
>
> thanks in advance,
> -jim
>
>
>  
> > Hi Matt,
> > I tried that as well. I get the same result .. gaps every 5 seconds.
> >
> > If I remove is-live (with or without do-timestamp), then there are no gaps.
> > However, in this case, I also get a much larger, and longer, file; which I
> > don't understand.
> >
> > And again, if I use an adder (vs audiomixer), I get no gaps (with is-live
> > and do-timestamp both true). And if I remove the adder, same ... no gaps.
> >
> > I'm trying not to get hung up on audiotestsrc itself as it is simply a way
> > for me to demonstrate what I see with my pipeline using alsasrc and an
> > audiomixer.
> >
> > I suppose I don't really understand what audiomixer is doing. Another
> > oddity (I think) is that if instead of running the sample pipeline for a
> > set time (using the timeout command), I instead use num-buffers=1000 (in
> > audiotestsrc), I get different resulting file sizes:
> > - with an adder, I get a file with 10.884s of audio and a size of 960056
> > bytes.
> > - with an audiomixer, I get a file with 10.920s of audio and a size
> > of 1926332 bytes.
> >
> > Any chance someone is willing to run the same test and compare results?
> > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > do-timestamp=true samplesperbuffer=480"
> > export SINK="wavenc ! filesink location=test.wav"
> > timeout 60 gst-launch-1.0 $TESTSOURCE1 blocksize=960 ! audiomixer ! $SINK
> >
> > The gaps go away if I use an adder, as does my actual problem in my "real"
> > pipeline, but I'd like to understand why.
> >
> > thanks in advance,
> > -jim
> >
> >
> > > Date: Tue, 8 Dec 2020 19:05:25 +1100
> > > From: Matthew Waters <[hidden email]>
> > >
> > > Don't use 'do-timestamp=true' with audiotestsrc.? It will not do the
> > > right thing.
> > >
> > > Cheers
> > > -Matt
> > >
> > > On 8/12/20 5:12 pm, jim nualart wrote:
> > > > Hi,
> > > > Hoping that someone can shed some light on this...
> > > >
> > > > The following pipeline results in a file with gaps every 5 seconds:
> > > > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > > > do-timestamp=true samplesperbuffer=480"
> > > > export SINK="wavenc ! filesink location=test.wav"
> > > > timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK
> > > >
> > > > If you open the resulting wav file (e.g., in audacity), there are gaps
> > > > every 5 seconds.
> > > >
> > > > If you remove the audiomixer?from the pipeline, there are no gaps. If
> > > > you use an adder (instead of the audiomixer), there are no gaps.
> > > >
> > > > I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious
> > > > errors/warnings/etc.
> > > >
> > > > I realize that the audiotestsrc is not really a live-source and I'm
> > > > not sure how well it behaves as such. But I am actually
> > > > troubleshooting a similar issue using an alsasrc instead. I am hoping
> > > > that if I understand what's going on here, it will help on the other
> > > > issue. (For the issue with the alsasrc, I've gone so far as to write
> > > > the data to files; one at the src of the element feeding the
> > > > audiomixer, and one at the src of the audiomixer itself -- the first
> > > > shows no gaps, while the later does show gaps.)
> > > >
> > > > Many thanks in advance to any advice.
> > > > -jim
> > > >
> > > > _______________________________________________
> >
> >
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: audiomixer gaps

jim nualart
In reply to this post by jim nualart
Nicolas and David, thanks for the input. Both sound like reasonable explanations to me.

From: Nicolas Dufresne <[hidden email]>
I have also hit situation were a queue was needed after audiomixer /
audiointerleave in order for the timeout mechanism to work properly. Basically,
push-back from downstream can delay the aggregator passed it's timeout, and you
may endup in that state forever.
This is a limitation of the timeout mechanism I believe, at least I don't see
other way around to make this timeout behave like intented.

From: David Ing <[hidden email]>
In gstreamer, a queue is also a thread boundary.  By adding queues you are
adding threads.  My theory:  In your scenario, the extra queue (with
thread) may be allowing audio information to flow through your pipeline
more freely.




Le samedi 12 d?cembre 2020 ? 13:21 -0600, jim nualart a ?crit?:
> A?little more info on this...
>
> 1. By "gaps", I mean silence or 0s. And this is not simply an artifact of
> using filesrc to write a wav. The gaps are also audible (or rather, not
> audible, since it's silence, but I think everyone knows what I mean :-)
>
> 2. As I mentioned previously, I see the same behavior (gaps) if I replace
> audiotestsrc with alsasrc (pointing to a line-in where I am playing a sine
> wave from my phone).
>
> 3. Enabling GST_DEBUG=audioaggregator:5 I see a Timeout msg, e.g., "Timeout,
> missing 36 frames (0:00:00.000816326)" that corresponds to all the gaps in the
> resulting wav file.
>
> Based on?that, I start to think that maybe I need to set a latency on the
> audiomixer?(the default is 0). However, no value I use makes any difference.
>
> Next, and I can't explain why, I put a queue immediately after the
> audiomixer?(no latency or other non-default settings). This eliminates the
> Timeouts (and gaps of silence). This holds true when I switch back to an
> alsasrc instead of the audiotestsrc.
>
> I dumped the graphs -- the queue (it's the only queue in the very short
> pipeline) does not show as buffering any data. So I am really confused as to
> how this "fixed" the issue.
>
> Does anyone have an explanation? I'd settle for even just a well-written
> theory :-)
>
> thanks in advance,
> -jim
>
>
> ?
> > Hi Matt,
> > I tried that as well. I get the same result .. gaps every 5 seconds.
> >
> > If I remove is-live (with or without do-timestamp), then there are no gaps.
> > However, in this case, I also get a much larger, and longer, file; which I
> > don't understand.
> >
> > And again, if I use an adder (vs audiomixer), I get no gaps (with is-live
> > and do-timestamp both true). And if I remove the adder, same ... no gaps.
> >
> > I'm trying not to get hung up on audiotestsrc itself as it is simply a way
> > for me to demonstrate what I see with my pipeline using alsasrc and an
> > audiomixer.
> >
> > I suppose I don't really understand what audiomixer is doing. Another
> > oddity (I think) is that if instead of running the sample pipeline for a
> > set time (using the timeout command), I instead use num-buffers=1000 (in
> > audiotestsrc), I get different resulting file sizes:
> > - with an adder, I get a file with 10.884s of audio and a size of 960056
> > bytes.
> > - with an audiomixer, I get a file with 10.920s of audio and a size
> > of 1926332 bytes.
> >
> > Any chance someone is willing to run the same test and compare results?
> > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > do-timestamp=true samplesperbuffer=480"
> > export SINK="wavenc ! filesink location=test.wav"
> > timeout 60 gst-launch-1.0 $TESTSOURCE1 blocksize=960 ! audiomixer ! $SINK
> >
> > The gaps go away if I use an adder, as does my actual problem in my "real"
> > pipeline, but I'd like to understand why.
> >
> > thanks in advance,
> > -jim
> >
> >
> > > Date: Tue, 8 Dec 2020 19:05:25 +1100
> > > From: Matthew Waters <[hidden email]>
> > >
> > > Don't use 'do-timestamp=true' with audiotestsrc.? It will not do the
> > > right thing.
> > >
> > > Cheers
> > > -Matt
> > >
> > > On 8/12/20 5:12 pm, jim nualart wrote:
> > > > Hi,
> > > > Hoping that someone can shed some light on this...
> > > >
> > > > The following pipeline results in a file with gaps every 5 seconds:
> > > > export TESTSOURCE1="audiotestsrc wave=0 volume=0.8 is-live=true
> > > > do-timestamp=true samplesperbuffer=480"
> > > > export SINK="wavenc ! filesink location=test.wav"
> > > > timeout 60 gst-launch-1.0 $TESTSOURCE1 ! audiomixer ! $SINK
> > > >
> > > > If you open the resulting wav file (e.g., in audacity), there are gaps
> > > > every 5 seconds.
> > > >
> > > > If you remove the audiomixer?from the pipeline, there are no gaps. If
> > > > you use an adder (instead of the audiomixer), there are no gaps.
> > > >
> > > > I've looked at logs (GST_DEBUG=audiomixer:6), and there are no obvious
> > > > errors/warnings/etc.
> > > >
> > > > I realize that the audiotestsrc is not really a live-source and I'm
> > > > not sure how well it behaves as such. But I am actually
> > > > troubleshooting a similar issue using an alsasrc instead. I am hoping
> > > > that if I understand what's going on here, it will help on the other
> > > > issue. (For the issue with the alsasrc, I've gone so far as to write
> > > > the data to files; one at the src of the element feeding the
> > > > audiomixer, and one at the src of the audiomixer itself -- the first
> > > > shows no gaps, while the later does show gaps.)
> > > >
> > > > Many thanks in advance to any advice.
> > > > -jim
> > > >
> > > > _______________________________________________
> >


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel