1 /* Copyright (c) MediaArea.net SARL. All Rights Reserved. 2 * 3 * Use of this source code is governed by a BSD-style license that can 4 * be found in the License.html file in the root of the source tree. 5 */ 6 7 //--------------------------------------------------------------------------- 8 #ifndef Export_GraphH 9 #define Export_GraphH 10 //--------------------------------------------------------------------------- 11 12 //--------------------------------------------------------------------------- 13 #include "MediaInfo/MediaInfo_Internal.h" 14 //--------------------------------------------------------------------------- 15 16 namespace MediaInfoLib 17 { 18 19 //*************************************************************************** 20 /// @brief Export_Graph 21 //*************************************************************************** 22 23 class Export_Graph 24 { 25 public : 26 //Constructeur/Destructeur 27 Export_Graph (); 28 ~Export_Graph (); 29 30 31 //Types 32 enum format 33 { 34 Format_Dot, 35 Format_Svg, 36 Format_Max 37 }; 38 39 enum graph 40 { 41 Graph_All, 42 Graph_Ac4, 43 Graph_Ed2, 44 Graph_Adm, 45 Graph_Mpegh3da, 46 Graph_Max 47 }; 48 49 //Functions 50 static bool Load(); 51 ZenLib::Ztring Transform(MediaInfo_Internal &MI, graph Graph, format Format=Format_Dot); 52 53 private: 54 //Types 55 struct relation 56 { 57 Ztring Src; 58 Ztring Dst; 59 Ztring Opts; relationrelation60 relation(Ztring Src, Ztring Dst, Ztring Opts) : Src(Src), Dst(Dst), Opts(Opts) 61 {}; 62 }; 63 64 //Functions 65 #if defined(MEDIAINFO_AC4_YES) 66 Ztring Ac4_Graph(MediaInfo_Internal &MI, size_t StreamPos, size_t Level); 67 #endif //defined(MEDIAINFO_AC4_YES) 68 #if defined(MEDIAINFO_DOLBYE_YES) 69 Ztring Ed2_Graph(MediaInfo_Internal &MI, size_t StreamPos, size_t Level); 70 #endif //defined(MEDIAINFO_DOLBYE_YES) 71 #if defined(MEDIAINFO_ADM_YES) 72 Ztring Adm_Graph(MediaInfo_Internal &MI, size_t StreamPos, size_t Level); 73 #endif //defined(MEDIAINFO_ADM_YES) 74 #if defined(MEDIAINFO_MPEGH3DA_YES) 75 Ztring Mpegh3da_Graph(MediaInfo_Internal &MI, size_t StreamPos, size_t Level); 76 #endif //defined(MEDIAINFO_MPEGH3DA_YES ) 77 }; 78 79 } //NameSpace 80 #endif 81