[FFmpeg-devel] [PATCH v8 1/3] libavdevice/avfoundation.m: use AudioConvert, extend supported formats

Marvin Scholz epirat07 at gmail.com
Thu Jan 6 16:40:07 EET 2022



On 6 Jan 2022, at 15:34, Romain Beauxis wrote:

> Le mer. 5 janv. 2022 à 08:58, Thilo Borgmann <thilo.borgmann at mail.de> 
> a écrit :
>>
>> Am 05.01.22 um 15:51 schrieb Marvin Scholz:
>>> On 31 Dec 2021, at 18:42, Romain Beauxis wrote:
>>>
>>>> * Implement support for AudioConverter
>>>> * Switch to AudioConverter's API to convert unsupported PCM
>>>>   formats (non-interleaved, non-packed) to supported formats
>>>> * Minimize data copy.
>>>>
>>>> This fixes: https://trac.ffmpeg.org/ticket/9502
>>>>
>>>> API ref:
>>>> https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
>>>>
>>>> Signed-off-by: Romain Beauxis <toots at rastageeks.org>
>>>>>>>> [Sorry for the noise but an issue came up with the previous set]
>>>>
>>>> This is the first patch of a series of 3 that fix, cleanup and 
>>>> enhance the
>>>> avfoundation implementation for libavdevice.
>>>>
>>>> These patches come from an actual user-facing application relying 
>>>> on
>>>> libavdevice’s implementation of avfoundation audio input. Without 
>>>> them,
>>>> Avfoundation is practically unusable as it will:
>>>> * Refuse to process certain specific audio input format that are 
>>>> actually
>>>> returned by the OS for some users (packed PCM audio)
>>>> * Drop audio frames, resulting in corrupted audio input. This might 
>>>> have been
>>>> unnoticed with video frames but this makes avfoundation essentially 
>>>> unusable
>>>> for audio.
>>>>
>>>> The patches are now being included in our production build so they 
>>>> are tested
>>>> and usable in production.
>>>>
>>>> Changelog for this patch:
>>>> * v2: None
>>>> * v3: None
>>>> * v4: None
>>>> * v5: Fix indentation/wrapping
>>>> * v6: None
>>>> * v7: Removed use of 
>>>> kAudioConverterPropertyCalculateOutputBufferSize
>>>>  to calculate output buffer size. The calculation is trivial and 
>>>> this call was
>>>>  randomly failing for no reason
>>>> * v8: None
>>>>
>>>
>>> The patchset fails to apply for me:
>>>
>>> Applying: libavdevice/avfoundation.m: use AudioConvert, extend 
>>> supported formats
>>> error: corrupt patch at line 191
>>> Patch failed at 0001 libavdevice/avfoundation.m: use AudioConvert, 
>>> extend supported formats
>>
>> Same here.
>
> Sorry to hear y'all. I'm using the git format-patch as described here:
> https://www.ffmpeg.org/developer.html#Submitting-patches-1
>
> I've resent a new version of the patchset, this time I edited the file
> manually and sent it untouched, hopefully it'll apply fine.
>

You should send them with git send-email ideally.
It looks like whatever you used to sent it wrapped the lines
breaking the patch format.

Alternatively send them as file attachment, if you can't use
git send-email.

> Thanks for looking into it!
> -- Romain


More information about the ffmpeg-devel mailing list