Changeset 96229 in vbox for trunk/src/VBox/Main/include/RecordingStream.h
- Timestamp:
- Aug 16, 2022 3:41:39 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/RecordingStream.h
r96179 r96229 126 126 uint16_t GetID(void) const { return this->uScreenID; }; 127 127 #ifdef VBOX_WITH_AUDIO_RECORDING 128 PRECORDINGCODEC GetAudioCodec(void) { return &this->CodecAudio; };128 PRECORDINGCODEC GetAudioCodec(void) { return this->pCodecAudio; }; 129 129 #endif 130 130 PRECORDINGCODEC GetVideoCodec(void) { return &this->CodecVideo; }; … … 132 132 bool IsReady(void) const; 133 133 134 public: 135 136 static DECLCALLBACK(int) codecWriteDataCallback(PRECORDINGCODEC pCodec, const void *pvData, size_t cbData, uint64_t msAbsPTS, uint32_t uFlags, void *pvUser); 137 134 138 protected: 135 139 136 static DECLCALLBACK(int) codecWriteDataCallback(PRECORDINGCODEC pCodec, const void *pvData, size_t cbData, void *pvUser); 137 138 protected: 139 140 int open(const settings::RecordingScreenSettings &Settings); 140 int open(const settings::RecordingScreenSettings &screenSettings); 141 141 int close(void); 142 142 143 int initInternal(RecordingContext *pCtx, uint32_t uScreen, const settings::RecordingScreenSettings & Settings);143 int initInternal(RecordingContext *pCtx, uint32_t uScreen, const settings::RecordingScreenSettings &screenSettings); 144 144 int uninitInternal(void); 145 145 146 int initVideo(const settings::RecordingScreenSettings & Settings);146 int initVideo(const settings::RecordingScreenSettings &screenSettings); 147 147 int unitVideo(void); 148 149 int initAudio(const settings::RecordingScreenSettings &Settings);150 148 151 149 bool isLimitReachedInternal(uint64_t msTimestamp) const; 152 150 int iterateInternal(uint64_t msTimestamp); 151 152 int codecWriteToWebM(PRECORDINGCODEC pCodec, const void *pvData, size_t cbData, uint64_t msAbsPTS, uint32_t uFlags); 153 153 154 154 void lock(void); … … 171 171 172 172 /** Recording context this stream is associated to. */ 173 RecordingContext * pCtx;173 RecordingContext *m_pCtx; 174 174 /** The current state. */ 175 175 RECORDINGSTREAMSTATE enmState; … … 192 192 /** Critical section to serialize access. */ 193 193 RTCRITSECT CritSect; 194 /** Timestamp (in ms) of when recording has been start . */194 /** Timestamp (in ms) of when recording has been started. */ 195 195 uint64_t tsStartMs; 196 197 /** Audio codec instance data to use. */ 198 RECORDINGCODEC CodecAudio; 196 #ifdef VBOX_WITH_AUDIO_RECORDING 197 /** Pointer to audio codec instance data to use. 198 * 199 * We multiplex audio data from the recording context to all streams, 200 * to avoid encoding the same audio data for each stream. We ASSUME that 201 * all audio data of a VM will be the same for each stream at a given 202 * point in time. 203 * 204 * Might be NULL if not being used. */ 205 PRECORDINGCODEC pCodecAudio; 206 #endif /* VBOX_WITH_AUDIO_RECORDING */ 199 207 /** Video codec instance data to use. */ 200 RECORDINGCODEC 208 RECORDINGCODEC CodecVideo; 201 209 /** Screen settings to use. */ 202 settings::RecordingScreenSettings ScreenSettings; 210 settings::RecordingScreenSettings 211 ScreenSettings; 203 212 /** Common set of recording (data) blocks, needed for 204 213 * multiplexing to all recording streams. */ 205 RecordingBlockSet 214 RecordingBlockSet Blocks; 206 215 }; 207 216
Note:
See TracChangeset
for help on using the changeset viewer.