[vlc-devel] [PATCH v1 06/33] filters: allow filters to output multiple pictures without chaining them

Steve Lhomme robux4 at ycbcr.xyz
Sat Sep 26 07:58:15 CEST 2020


On 2020-09-25 17:05, Rémi Denis-Courmont wrote:
> Le perjantaina 25. syyskuuta 2020, 17.46.42 EEST Steve Lhomme a écrit :
>> The filter chain receives the pictures and puts them in a FIFO (like filters
>> used to)
> 
> I don't really see any reason to diverge from the existing push-model pattern
> of a queue_picture callback that outputs exactly one picture to the owner.

The owner is one special kind of sink which is attached (to the decoder) 
for good. Filters on the other hand can tell for sure where they have to 
send their output. It can be dynamically changed in a filter chain if 
you append another filter after this filter.

I think the sink concept gives more flexibility and less complexity on 
both sides. Using an owner for that would not change much on the filters 
side (still one call to do for each picture output). It would make 
possible dynamic changes trickier on the owner side, especially in the 
filter chain. It's not impossible but my gut feeling and experience with 
sinks says it's worse.

> Queueing multiple pictures at a time seems like a useless intricacy for every
> implementation of the interface.

But that already exists in the code. deinterlacers and fps filter do 
output multiple pictures in one call. And the receiver has to be ready 
to handle that. With a sink it doesn't matter if you receive the 
pictures from one call or multiple calls.


More information about the vlc-devel mailing list