[vlc-devel] [PATCH 2/2] vlc_block: store per block ancillary

Denis Charmet typx at dinauz.org
Sun Jul 8 13:03:21 CEST 2018


On 2018-07-08 10:02, RĂ©mi Denis-Courmont wrote:
> What about blocks that are made from parts of multiple blocks?
> 
> That you can freely duplicate the side data is a very and dubiously 
> strong
> assumptions on the semantics on the side data.
> 

I feel like we are splitting hair for the sake of theory. I proposed 
some kind of generic solution but at some point we'll have to trust the 
decoder/packetizer to deal with those side data, or ignore them and let 
the helpers duplicate them and pass them for the other step.

Because the issue will be the same with out of band data because either 
the packetizer will know about the wanted ancillary and handle them or 
let them be and create new block but then the link between the out of 
band side datas and the original block will be lost and the next step 
won't be able to handle them.

> It is not obvious to me how you make that work either, for lack of
> explanations on the use case of this. However, it is no more and no 
> less
> obvious to me than how it would work with a new field in block_t 
> though.
> 
> Obviously if you can pass something as a field to a structure pointed 
> by a
> parameter, then you can also pass it as an extra parameter. Either 
> way, the
> called code has the same data. And then, if you can pass it as an 
> extra
> parameter, you can also pass it through an extra preceding function 
> call with
> the same context (e.g. same packetizer, same decoder).

Then if the solutions are somehow equivalent why not stick to the one 
proposed?
Provided the patch handles blockchain and timeshift serialization?

IMO putting them inside the structure, and duplicate it on split if not 
handled is the easiest way to ensure that the linking between the block 
and its side data is maintained and passed throughout the chain.

I wouldn't mind using the out of band way but I just cannot figure out 
a way to do it, while the in structure seems quite straightforward to 
me.

Regards,
-- 
Denis Charmet - TypX
Le mauvais esprit est un art de vivre


More information about the vlc-devel mailing list