This pull-request adds support for Clock Reference Format (CRF) to libavtp. CRF enables multiple AVTP talkers to synchronize their audio, video or control streams, generating presentation times synchronized to a reference clock, reducing the overhead on AVTP listeners. For further information about CRF, see Chapter 10 from AVTP spec [1].
This patchset covers basic CRF support with a simplest possible example which mainly focuses on how CRF stream can be used to recover media clock which AVTP talkers could use as presentation timestamps. Here is a summary of the patches in this PR:
First patch adds support for CRF
Second patch adds unit-tests that covers all APIs defined in include/avtp_crf.h
Third and fourth patches add CRF talker and CRF listener example applications which demonstrate the use of libavtp CRF APIs. CRF listener example runs in AAF talker or AAF listener mode.
For the sake of simplicity, the CRF example applications have the following limitations:
They don’t handle special cases such as sequence mismatches and CRF stream restart.
The AAF talker mode transmits dummy AAF stream
The AAF listener mode doesn't work with multiple AAF talkers.
Overall code coverage details are:
lines......: 98.5% (893 of 907 lines)
functions..: 100.0% (89 of 89 functions)
Let me know if you need more details about the points mentioned above.
CRF support for libavtp
This pull-request adds support for Clock Reference Format (CRF) to libavtp. CRF enables multiple AVTP talkers to synchronize their audio, video or control streams, generating presentation times synchronized to a reference clock, reducing the overhead on AVTP listeners. For further information about CRF, see Chapter 10 from AVTP spec [1].
This patchset covers basic CRF support with a simplest possible example which mainly focuses on how CRF stream can be used to recover media clock which AVTP talkers could use as presentation timestamps. Here is a summary of the patches in this PR:
For the sake of simplicity, the CRF example applications have the following limitations:
Overall code coverage details are: lines......: 98.5% (893 of 907 lines) functions..: 100.0% (89 of 89 functions)
Let me know if you need more details about the points mentioned above.
Thanks, Rajvi Jingar
[1] IEEE Std 1722™-2016 Specification: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7782716