On 10/06/2012 02:53 PM, Anton Khirnov wrote:
> 
> On Sat,  6 Oct 2012 13:30:37 -0400, Justin Ruggles <[email protected]> 
> wrote:
>> When there is only 1 channel, the planar and interleaved formats of the same
>> data type should be treated as identical.
>> ---
>>  libavfilter/af_resample.c |    7 ++++++-
>>  1 files changed, 6 insertions(+), 1 deletions(-)
>>
>> diff --git a/libavfilter/af_resample.c b/libavfilter/af_resample.c
>> index c51f9d2..58a9b2a 100644
>> --- a/libavfilter/af_resample.c
>> +++ b/libavfilter/af_resample.c
>> @@ -93,7 +93,11 @@ static int config_output(AVFilterLink *outlink)
>>  
>>      if (inlink->channel_layout == outlink->channel_layout &&
>>          inlink->sample_rate    == outlink->sample_rate    &&
>> -        inlink->format         == outlink->format)
>> +        (inlink->format        == outlink->format ||
>> +        (av_get_channel_layout_nb_channels(inlink->channel_layout)  == 1 &&
>> +         av_get_channel_layout_nb_channels(outlink->channel_layout) == 1 &&
>> +         av_get_planar_sample_fmt(inlink->format) ==
>> +         av_get_planar_sample_fmt(outlink->format))))
>>          return 0;
>>  
>>      if (!(s->avr = avresample_alloc_context()))
>> @@ -226,6 +230,7 @@ static int filter_samples(AVFilterLink *inlink, 
>> AVFilterBufferRef *buf)
>>  fail:
>>          avfilter_unref_buffer(buf);
>>      } else {
>> +        buf->format = outlink->format;
> 
> Same for channel_layout too I suppose.
> 
> Otherwise should be ok
> 

Sorry, I don't understand what you're implying.

-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to