[vlc-devel] [RFC PATCH 09/13] FIXUP: implement audio/video/spu delay

Thomas Guillem thomas at gllm.fr
Fri Jun 29 15:05:31 CEST 2018


VT care:
"The behavior is undefined if samples in a CMSampleBuffer (or even in
multiple buffers in the same stream) have the same
presentationTimeStamp. Can be NULL."
https://developer.apple.com/documentation/coremedia/1489513-cmsamplebuffercreateready?language=objc
and I don't want to take any risks with all different implementation of
MediaCodec/OMX.
(Because if you apply the delay before decoding, nothing prevent to feed
the same pts to a decoder).
On Fri, Jun 29, 2018, at 14:21, Rémi Denis-Courmont wrote:
> I cannot agree and I don't see why hw decodet should care about
> original PTS.> 
> Le 29 juin 2018 15:02:50 GMT+03:00, Thomas Guillem <thomas at gllm.fr>
> a écrit :>> 
>> On Fri, Jun 29, 2018, at 12:44, Rémi Denis-Courmont wrote:
>>> It boils down to which ES the original PTS are needed for. For
>>> instance, a timecode SPU source will need the original PTS of the
>>> video track>> 
>> No it need the converted time of the video because the video can be
>> delayed too.>> 
>>> 
>>> 
>>> not SPU (i.e. video + SPU delay). If you apply cross-ES delay after
>>> filters/sources, timecodes won't work.>>> 
>>> As far as I can tell, cross-ES delay musyt be applied before decoder
>>> FIFO and befote filters. So it can not be done in output clock -
>>> that's too far downstream.>> 
>> Before Decoder FIFO ? It will fail with some HW decoders...
>> 
>>> 
>>> Le 29 juin 2018 13:29:52 GMT+03:00, Thomas Guillem <thomas at gllm.fr>
>>> a écrit :>>>> 
>>>> On Fri, Jun 29, 2018, at 12:18, Rémi Denis-Courmont wrote:
>>>>> I expect major problems with SPU and with audio visualization if
>>>>> the original PTS are not shifted, but the output times are.>>>> 
>>>> What kind of major problems ? I tested this set and fount out that
>>>> SPU delay synchronization was really improved.>>>> 
>>>>> 
>>>>> Le 29 juin 2018 12:55:20 GMT+03:00, Thomas Guillem
>>>>> <thomas at gllm.fr> a écrit :>>>>>> On Wed, Jun 27, 2018, at 21:06, Rémi Denis-Courmont wrote:
>>>>>>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>>   Hi,
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  Le keskiviikkona 27. kesäkuuta 2018, 15.41.31 EEST Thomas
>>>>>>>  Guillem a écrit :
>>>>>>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>>  Each ESses will set the delay to their specific clocks.
>>>>>>>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  Setting a delay on the master clock has an effect on all
>>>>>>>>  others slaves
>>>>>>>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  clocks. Setting a delay on a slave clock has only an effect
>>>>>>>>  for the current
>>>>>>>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  clock.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  Why can the delay no longer applied/applicable to original PTS?
>>>>>>>  And then, why
>>>>>>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  is the delay not applied within the clock?
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> In this patch, the delay is applied within the clock, no ?
>>>>>>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> When do you want to modify the original PTS ? I tried to do that
>>>>>> solution first, like we discussed in the meeting, but it seemed
>>>>>> very complicated and not easy to implement. Furthermore, I really
>>>>>> prefer to keep the original PTS the longer possible. It make it
>>>>>> more reactive when changing the delay of subtitles for example
>>>>>> (since the core keep a list of subtitles).
>>>>>>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  It seems rather repetitive/wasteful to boilerplate this in
>>>>>>>  every clock user.
>>>>>>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  -- 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  Реми Дёни-Курмон
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  http://www.remlab.net/
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  vlc-devel mailing list
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  To unsubscribe or modify your subscription options:
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>  https://mailman.videolan.org/listinfo/vlc-devel
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> vlc-devel mailing list
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> To unsubscribe or modify your subscription options:
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> https://mailman.videolan.org/listinfo/vlc-devel
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> --
>>>>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>>>>> excuser ma brièveté.>>>>> _________________________________________________
>>>>> vlc-devel mailing list
>>>>> To unsubscribe or modify your subscription options:
>>>>> https://mailman.videolan.org/listinfo/vlc-devel
>>>> 
>>> 
>>> --
>>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>>> excuser ma brièveté.>>> _________________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> 
> 
> --
>  Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>  excuser ma brièveté.> _________________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20180629/139c2ae2/attachment-0001.html>


More information about the vlc-devel mailing list