MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrMediaPipelineBuilder.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <lgrCore/lgrCore.h>
14 
15 #include <vlutil/vlString.h>
16 
17 #include <map>
18 #include <vector>
19 
20 namespace MAKLogger
21 {
26  {
27  public:
28 
30 
31 
32  virtual ~DtLgrMediaPipelineBuilder();
33 
35  virtual void addConfiguration(const DtString& pipelineConfiguration, bool makeDefault=false);
36 
38  virtual const DtString& defaultType() const;
39 
41  virtual const DtString& defaultConfiguration() const;
42 
44  virtual const DtString& defaultExtension() const;
45 
47  virtual void setDefaultType(const DtString& mediaType);
48 
50  virtual DtString& mediaFileFilter() const;
51 
53  virtual const DtString& mediaType(const DtString& fileExtension) const;
54 
57  virtual const DtString& mediaExtension(const DtString& mediaType=DtString::nullString()) const;
58 
61  virtual const DtString& mediaConfiguration(const DtString& mediaType=DtString::nullString()) const;
62 
64  virtual bool findMediaFile(const DtString& tapeFileName, DtString& mediaFileName, DtString& mediaType);
65 
67  virtual void resetPipeline();
68 
71  virtual const DtString& constructRecordPipeline(const DtFilename& mediaFileName, int port);
72 
75  virtual const DtString& constructWindowPipeline(const DtFilename& mediaFileName);
76 
80  virtual const DtString& constructStreamPipeline(const DtString& destinationAddress, int port);
81 
83  virtual const DtString& pipeline();
84 
85  public:
86 
88 
89  static void setMediaWindowHandle(void* windowHandle);
90  static void* mediaWindowHandle();
92 
95  static DtString& serializeStreamConfiguration(DtString& serializedConfiguration,
96  const DtString& mediaType, const std::vector<DtString>& mediaExtensions,
97  const DtString& pipelineConfiguration);
98 
100  static void deserializeStreamConfiguration(const DtString& serializedConfiguration,
101  DtString& mediaType, std::vector<DtString>& mediaExtensions,
102  DtString& pipelineConfiguration);
103 
104  protected:
105 
108  virtual const DtString& constructPipeline(const DtString& textPart, int port);
109 
110 
111  protected:
112 
113  protected:
114 
116  std::map<DtString, std::vector<DtString> > myMediaTypeToExtMap;
117  std::map<DtString, DtString> myMediaTypeToDefaultExtMap;
118  std::map<DtString, DtString> myMediaExtToTypeMap;
119  std::map<DtString, DtString> myMediaTypeToConfigMap;
120 
121  DtString myPipeline;
122  mutable DtString myMediaFileFilter;
123  DtString myMediaType;
126  };
127 }
DtString myMediaConfiguration
Definition: lgrMediaPipelineBuilder.h:125
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
std::map< DtString, DtString > myMediaExtToTypeMap
Definition: lgrMediaPipelineBuilder.h:118
DtString myMediaExtension
Definition: lgrMediaPipelineBuilder.h:124
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
DtString myMediaType
Definition: lgrMediaPipelineBuilder.h:123
std::map< DtString, DtString > myMediaTypeToDefaultExtMap
Definition: lgrMediaPipelineBuilder.h:117
std::map< DtString, DtString > myMediaTypeToConfigMap
Definition: lgrMediaPipelineBuilder.h:119
The media pipeline build class stores pipeline configurations by media type and constructs gstreamer ...
Definition: lgrMediaPipelineBuilder.h:25
#define DT_DLL_LGRCORE
Definition: lgrCore.h:19
DtString myPipeline
Definition: lgrMediaPipelineBuilder.h:121
std::map< DtString, std::vector< DtString > > myMediaTypeToExtMap
Map between media file extension and type for playback.
Definition: lgrMediaPipelineBuilder.h:116
DtString myMediaFileFilter
Definition: lgrMediaPipelineBuilder.h:122
Contains lgrCore library definitions.

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)