[FFmpeg-devel] [PATCH] avdevice/pipewire_dec: pipewire video capture

Anton Khirnov anton at khirnov.net
Mon Apr 24 10:47:14 EEST 2023


Quoting metamuffin (2023-04-24 09:21:06)
> On 23-04-24 08:36, Anton Khirnov wrote:
> 
> Thanks for your reply!
> 
>  > Also, your email client mangled your patch.
> 
> Sorry for that, I will resend the updated patch soon. (hopefully using 
> git send-mail)
> 
>  > This seems like it should be a lavfi source instead.
> 
> If you mean libavfilter, then I am confused. I thought about either 
> submitting to libavformat or libavdevice. I chose the latter because 
> pulse is already in there and is very similar to pipewire in that sense.

Many things are in libavdevice mainly for historical and inertia
reasons: libavfilter did not exist (or was not mature enough) when they
were added. I'd say lavfi is more appropriate for raw sources like this,
since you don't have to resort to ugly hacks or expensive copies to wrap
frames into packets. You can also do things like export hardware
surfaces directly.

> Also, now that I have a message to note this, I am planning to also 
> implement pipewire video output, audio input and output as well in the 
> near future. Should I first accumulate all commits or submit the working 
> parts gradually? I am also not sure, whether or not pipewire support is 
> even wanted in ffmpeg.

Separate commits are better - they are easier to review and it's less
likely that disagreement on one component blocks everything.

I don't know if pipewire output is used purely for playback or more
general processing - in the former case I'm not convinced these outputs
would be very useful, because our APIs do not give the user enough
control over timing to allow serious use.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list