[CLAM] Question regarding CLAM::Audio::GetEndTime()
Pau Arumi
parumi at iua.upf.edu
Wed Feb 7 11:52:37 PST 2007
Fixed in svn as David said in clam-devel with more details.
Xavier Amatriain wrote:
> So that is definitely a bug... BeginTime is being incremented in
> seconds while EndTime is output
> in milliseconds and expects BeginTime to be also in milliseconds.
>
> The error is in line 128 in MultichannelAudioFileReader:
>
> mDeltaTime = TData
> <http://www.clam.iua.upf.edu/doc/CLAM-doxygen/namespaceCLAM.html#b9c6321b061069797fcc173f61e8111a>(sizeTmp)
> / mConfig.GetSourceFile().GetHeader().GetSampleRate();
>
> There is a *1000. missing.
>
> Actually I am seeing that the same error repeats in different
> places... so I guess the
> issue would be easier to fix in the Audio getter. I'll push the
> discussion to the clam-devel list.
>
>
>
> Bad Data wrote:
>> This is what I'm doing for every chunk:
>> std::cout << "EndTime: " <<
>> incomingAudioChannels[0].GetEndTime()
>> << " Size: " <<
>> incomingAudioChannels[0].GetSize()
>> << " BeginTime " <<
>> incomingAudioChannels[0].GetBeginTime()
>> << "\n";
>>
>>
>> And this is what it is outputing:
>>
>> audioMixer examples # ./FilePlayback_example blue_serge.wav
>> EndTime: 23.22 Size: 1024 BeginTime 0
>> EndTime: 23.2432 Size: 1024 BeginTime 0.02322
>> EndTime: 23.2664 Size: 1024 BeginTime 0.0464399
>> EndTime: 23.2896 Size: 1024 BeginTime 0.0696599
>>
>>
>> James
>>
>>
>> */Xavier Amatriain <xamat at iua.upf.edu>/* wrote:
>>
>> That is weird indeed but I can't see the bug by looking at the
>> code. It
>> is clear that BeginTime is set incorrectly for the first audio.
>> Can you
>> print both GetSize() and GetBeginTime() for all chunks?
>>
>> Bad Data wrote:
>> > I've starting to work with CLAM and have come across something
>> that I
>> > don't understand. I started with the FilePlayback_example.cxx to
>> get a
>> > basic idea how Audio is worked with. I changed the main loop of
>> the
>> > program around to see what can be done with the Audio class,
>> during
>> > one such test I did the following:
>> >
>> > while( reader.Do( incomingAudioChannels ) )
>> > {
>> > count += incomingAudioChannels[0].GetSize();
>> > time += incomingAudioChannels[0].GetDuration();
>> >
>> > for ( int i = 0; i < audioOutputs.Size(); i++ ){
>> > audioOutputs[i].Do( incomingAudioChannels[i] );
>> > }
>> > std::cout << "Durr: " <<
>> > incomingAudioChannels[0].GetEndTime() << "\n"; // I added this
>> line.
>> > }
>> >
>> >
>> > when I compile and run this program the first few lines output to
>> > stdout are:
>> > audioMixer examples # ./FilePlayback_example blue_serge.wav
>> > Durr: 23.22
>> > Durr: 23.2432
>> > Durr: 23.2664
>> > Durr: 23.2896
>> > Durr: 23.3128
>> > Durr: 23.3361
>> > Durr: 23.3593
>> >
>> >
>> > Shouldn't the first line be 0.002322 and aren't the subsequent
>> lines
>> > off by 23.22?
>> > It's my understanding that GetEndTime() returns the end time of
>> the
>> > audio in ms, and that the first chunk is only 1024 samples long.
>> Am I
>> > misunderstanding the correct use?
>> >
>> >
>> > James
>> >
>> >
>> >
>> >
>> >
>>
>> ------------------------------------------------------------------------
>> > Get your own web address.
>> >
>> > Have a HUGE year through Yahoo! Small Business.
>> >
>> >
>> >
>>
>> ------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > CLAM mailing list
>> > CLAM at iua.upf.es
>> > http://www.iua.upf.es/mtg/clam
>>
>>
>> ------------------------------------------------------------------------
>> TV dinner still cooling?
>> Check out "Tonight's Picks"
>> <http://us.rd.yahoo.com/evt=49979/*http://tv.yahoo.com/> on Yahoo! TV.
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> CLAM mailing list
>> CLAM at iua.upf.es
>> http://www.iua.upf.es/mtg/clam
>
>
> _______________________________________________
> CLAM mailing list
> CLAM at iua.upf.es
> http://www.iua.upf.es/mtg/clam
More information about the clam-users
mailing list