Thread: [Mlt-devel] [PATCH] keep origin audio samples freq if audio_index=all is used
Brought to you by:
ddennedy,
lilo_booter
From: Maksym V. <ve...@m1...> - 2013-07-04 12:25:38
|
Hi, if option audio_index=all is specified for producer avformat it do not update samplerate. as result playback 44100 audio track is going faster and audio resampler do not activated. attached patch should fix this behavior -- ________________________________________ Maksym Veremeyenko |
From: Dan D. <da...@de...> - 2013-07-04 19:16:13
|
On Thu, Jul 4, 2013 at 4:35 AM, Maksym Veremeyenko <ve...@m1...> wrote: > Hi, > > if option audio_index=all is specified for producer avformat it do not > update samplerate. as result playback 44100 audio track is going faster and > audio resampler do not activated. > > attached patch should fix this behavior This change contradicts the determination of frequency that appears earlier in the function: if ( self->audio_index == INT_MAX ) ... *frequency = FFMAX( self->max_frequency, *frequency ); Elsewhere, self->max_frequency is set to the highest sample rate while enumerating audio tracks. Perhaps the more correct change is to change that line to simply: *frequency = self->max_frequency; Can you test how that change works for you? |
From: Maksym V. <ve...@m1...> - 2013-07-08 07:42:11
|
04.07.13 22:16, Dan Dennedy написав(ла): > On Thu, Jul 4, 2013 at 4:35 AM, Maksym Veremeyenko<ve...@m1...> wrote: >> Hi, >> >> if option audio_index=all is specified for producer avformat it do not >> update samplerate. as result playback 44100 audio track is going faster and >> audio resampler do not activated. >> >> attached patch should fix this behavior > > This change contradicts the determination of frequency that appears > earlier in the function: > > if ( self->audio_index == INT_MAX ) > ... > *frequency = FFMAX( self->max_frequency, *frequency ); > > Elsewhere, self->max_frequency is set to the highest sample rate while > enumerating audio tracks. Perhaps the more correct change is to change > that line to simply: > *frequency = self->max_frequency; > I think it should works... > Can you test how that change works for you? OK PS how can i test what of audio resamplers invoked: avformat's or libresample? -- ________________________________________ Maksym Veremeyenko |
From: Dan D. <da...@de...> - 2013-07-08 16:02:46
|
On Mon, Jul 8, 2013 at 12:42 AM, Maksym Veremeyenko <ve...@m1...> wrote: > 04.07.13 22:16, Dan Dennedy написав(ла): > >> On Thu, Jul 4, 2013 at 4:35 AM, Maksym Veremeyenko<ve...@m1...> >> wrote: >>> >>> Hi, >>> >>> if option audio_index=all is specified for producer avformat it do not >>> update samplerate. as result playback 44100 audio track is going faster >>> and >>> audio resampler do not activated. >>> >>> attached patch should fix this behavior >> >> >> This change contradicts the determination of frequency that appears >> earlier in the function: >> >> if ( self->audio_index == INT_MAX ) >> ... >> *frequency = FFMAX( self->max_frequency, *frequency ); >> >> Elsewhere, self->max_frequency is set to the highest sample rate while >> enumerating audio tracks. Perhaps the more correct change is to change >> that line to simply: >> *frequency = self->max_frequency; >> > I think it should works... > > >> Can you test how that change works for you? > > OK Do you mean you tested, and it does work OK? Or, OK, you will test it and reply later with the result? > > PS > how can i test what of audio resamplers invoked: avformat's or libresample? set log level to debug; grep output if needed > > -- > ________________________________________ > Maksym Veremeyenko -- +-DRD-+ |
From: Maksym V. <ve...@m1...> - 2013-07-09 04:26:22
|
08.07.13 19:02, Dan Dennedy написав(ла): > On Mon, Jul 8, 2013 at 12:42 AM, Maksym Veremeyenko<ve...@m1...> wrote: >> 04.07.13 22:16, Dan Dennedy написав(ла): >> >>> On Thu, Jul 4, 2013 at 4:35 AM, Maksym Veremeyenko<ve...@m1...> >>> wrote: >>>> >>>> Hi, >>>> >>>> if option audio_index=all is specified for producer avformat it do not >>>> update samplerate. as result playback 44100 audio track is going faster >>>> and >>>> audio resampler do not activated. >>>> >>>> attached patch should fix this behavior >>> >>> >>> This change contradicts the determination of frequency that appears >>> earlier in the function: >>> >>> if ( self->audio_index == INT_MAX ) >>> ... >>> *frequency = FFMAX( self->max_frequency, *frequency ); >>> >>> Elsewhere, self->max_frequency is set to the highest sample rate while >>> enumerating audio tracks. Perhaps the more correct change is to change >>> that line to simply: >>> *frequency = self->max_frequency; >>> >> I think it should works... >> >> >>> Can you test how that change works for you? >> >> OK > > Do you mean you tested, and it does work OK? Or, OK, you will test it > and reply later with the result? > i will test it today. >> >> PS >> how can i test what of audio resamplers invoked: avformat's or libresample? > > set log level to debug; grep output if needed thanks for hint -- ________________________________________ Maksym Veremeyenko |
From: Maksym V. <ve...@m1...> - 2013-07-23 14:42:47
|
04.07.13 22:16, Dan Dennedy написав(ла): > On Thu, Jul 4, 2013 at 4:35 AM, Maksym Veremeyenko<ve...@m1...> wrote: >> Hi, >> >> if option audio_index=all is specified for producer avformat it do not >> update samplerate. as result playback 44100 audio track is going faster and >> audio resampler do not activated. >> >> attached patch should fix this behavior > > This change contradicts the determination of frequency that appears > earlier in the function: > > if ( self->audio_index == INT_MAX ) > ... > *frequency = FFMAX( self->max_frequency, *frequency ); > > Elsewhere, self->max_frequency is set to the highest sample rate while > enumerating audio tracks. Perhaps the more correct change is to change > that line to simply: > *frequency = self->max_frequency; > > Can you test how that change works for you? it works -- ________________________________________ Maksym Veremeyenko |