MCPcopy Create free account
hub / github.com/MediaArea/MediaInfoLib / PBCore_Transform

Function PBCore_Transform

Source/MediaInfo/Export/Export_PBCore.cpp:76–198  ·  view source on GitHub ↗

---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

74
75//---------------------------------------------------------------------------
76void PBCore_Transform(Node *Parent, MediaInfo_Internal &MI, stream_t StreamKind, size_t StreamPos)
77{
78 //Menu: only if TimeCode
79 if (StreamKind==Stream_Menu && MI.Get(Stream_Menu, StreamPos, Menu_Format)!=__T("TimeCode"))
80 return;
81
82 //essenceTrackType
83 Ztring essenceTrackType;
84 switch (StreamKind)
85 {
86 case Stream_Video:
87 essenceTrackType=__T("Video");
88 break;
89 case Stream_Audio:
90 essenceTrackType=__T("Audio");
91 break;
92 case Stream_Text:
93 {
94 Ztring Format=MI.Get(Stream_Text, StreamPos, Text_Format);
95 if (Format==__T("EIA-608") || Format==__T("EIA-708"))
96 essenceTrackType=__T("CC");
97 else
98 essenceTrackType=__T("Text");
99 }
100 break;
101 case Stream_Menu:
102 if (MI.Get(Stream_Menu, StreamPos, Menu_Format)==__T("TimeCode"))
103 {
104 essenceTrackType=__T("TimeCode");
105 break;
106 }
107 else
108 return; //Not supported
109 default: return; //Not supported
110 }
111
112 Node* Node_EssenceTrack=Parent->Add_Child("pbcoreEssenceTrack");
113
114 Node_EssenceTrack->Add_Child("essenceTrackType", essenceTrackType);
115
116 //essenceTrackIdentifier
117 if (!MI.Get(StreamKind, StreamPos, __T("ID")).empty())
118 {
119 Node_EssenceTrack->Add_Child("essenceTrackIdentifier", MI.Get(StreamKind, StreamPos, __T("ID")));
120 Node_EssenceTrack->Add_Child("essenceTrackIdentifierSource", "ID (Mediainfo)");
121 }
122 else if (!MI.Get(StreamKind, StreamPos, __T("UniqueID")).empty())
123 {
124 Node_EssenceTrack->Add_Child("essenceTrackIdentifier", MI.Get(StreamKind, StreamPos, __T("UniqueID")));
125 Node_EssenceTrack->Add_Child("essenceTrackIdentifierSource", "UniqueID (Mediainfo)");
126 }
127 else if (!MI.Get(StreamKind, StreamPos, __T("StreamKindID")).empty())
128 {
129 Node_EssenceTrack->Add_Child("essenceTrackIdentifier", MI.Get(StreamKind, StreamPos, __T("StreamKindID")));
130 Node_EssenceTrack->Add_Child("essenceTrackIdentifierSource", "StreamKindID (Mediainfo)");
131 }
132
133 //essenceTrackStandard

Callers 1

TransformMethod · 0.85

Calls 7

Add_Child_IfNotEmptyMethod · 0.80
GetMethod · 0.65
Count_GetMethod · 0.65
Add_ChildMethod · 0.45
emptyMethod · 0.45
resizeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected