Project

General

Profile

Actions

Support Request #454

closed

ADTFS-46407 External Clock

Added by hidden about 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Customer:
ELEKTROBIT
Department:
SUPPORT
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 7 64bit
Topic:
ADTF::Clock
FAQ Links:

Description

Supportanfrage:

Hintergrund:
"Demo Clock Filter" wird in einer Konfiguration mit einem HDRec verwendet. Laut Doku wird die Clock in dem DAT file "gespeichert", bzw. die tADTFClockRelation. Das DAT soll in einer neuen Konfiguration abgespielt werden, hier werden die Zeitstempel beider Uhren benötigt.

Daher:

a) Aus der Doku heraus fehlt mir die Vorstellung was mit der Clock Relation gemeint ist. Wird in dieser extension wirklich nur alle 5s so eine Relation abgespeichert? Wenn ja, sind 5s nicht ein ziemlich großer Abstand?

b) Bekommt man dann aus jedem MediaSample beide Clocks mit den entsprechenden Zeitstempeln? Oder muss man das immer "von Hand" mit der Clock Relation synchronisieren?

Viele Grüße,
Anja

Lösung:

In ADTF gibt es default mäßig zwei verschiedene Zeitgeber, die ADTF clock (ADTFTime) und die ADTF stream clock (StreamTime).

ADTFTime: Zeit seit ADTF Start
StreamTime: Zeit ab dem Zeitpunkt des RunLevels: Running.

a) Aus der Doku heraus fehlt mir die Vorstellung was mit der Clock Relation gemeint ist. Wird in dieser extension wirklich nur alle 5s so eine Relation abgespeichert? Wenn ja, sind 5s nicht ein ziemlich großer Abstand?

Die clock relation ist die Beziehung zwischen der StreamTime und dem jeweiligen Zeitgeber.
z.B. adtf_stream (StreamTime) & ADTFTime
oder für selbst implementierte Zeitgeber: StreamTime & MyClock

Da nur lediglich der Offset zwischen beiden Zeiten gespeichert wird, ist es egal das es "nur" alle ~5 Sekunden geschieht.

b) Bekommt man dann aus jedem MediaSample beide Clocks mit den entsprechenden Zeitstempeln? Oder muss man das immer "von Hand" mit der Clock Relation synchronisieren?

Jedes MediaSample bekommt bei der Aufnahme mit dem HDR alle zur Zeit der Aufnahme verfügbaren clocks.

adtf_clock_ext:

This extension contains an array of all recorded clocks stored in adtf::tADTFClockExtensionItem elements. The first element specifies the ADTFTime clock and the second element the StreamTime clock that have been used during recording. The remaining elements list all clocks. The amount of elements is defined by dividing the size of the extension by sizeof(adtf::tADTFClockExtensionItem).

Laut SDK doku werden alle clock extensions die aufgenommen wurden in einem array aus adtf::tADTFClockExtensionItem elementen gespeichert.
Ich hab leider kein code Beispiel, wie man an diese heran kommt.

Der Aufbau sieht so aus:

typedef struct
{
    tChar strClockName[256]; // ADTF_MAX_EXTERNAL_CLOCK_NAME_LENGTH
} tADTFClockExtensionItem;


Files

exportSink.cpp (1.77 KB) exportSink.cpp hidden, 2017-03-29 13:30
exportSink.hpp (1000 Bytes) exportSink.hpp hidden, 2017-03-29 13:30
Actions

Also available in: Atom PDF