Changeset 75488 in vbox for trunk/src/VBox/Main/include
- Timestamp:
- Nov 15, 2018 4:12:07 PM (6 years ago)
- Location:
- trunk/src/VBox/Main/include
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/ConsoleImpl.h
r75380 r75488 146 146 int i_recordingEnable(BOOL fEnable, util::AutoWriteLock *pAutoLock); 147 147 int i_recordingGetSettings(settings::RecordingSettings &Settings); 148 int i_recordingStart( void);149 int i_recordingStop( void);148 int i_recordingStart(util::AutoWriteLock *pAutoLock = NULL); 149 int i_recordingStop(util::AutoWriteLock *pAutoLock = NULL); 150 150 AudioVideoRec *i_recordingGetAudioDrv(void) const { return Recording.mAudioRec; } 151 151 RecordingContext *i_recordingGetContext(void) const { return Recording.mpCtx; } … … 179 179 HRESULT i_onDnDModeChange(DnDMode_T aDnDMode); 180 180 HRESULT i_onVRDEServerChange(BOOL aRestart); 181 HRESULT i_onRecordingChange( );181 HRESULT i_onRecordingChange(BOOL fEnable); 182 182 HRESULT i_onUSBControllerChange(); 183 183 HRESULT i_onSharedFolderChange(BOOL aGlobal); … … 1042 1042 1043 1043 /** The recording context. */ 1044 RecordingContext 1044 RecordingContext *mpCtx; 1045 1045 # ifdef VBOX_WITH_AUDIO_RECORDING 1046 1046 /** Pointer to capturing audio backend. */ -
trunk/src/VBox/Main/include/MachineImpl.h
r75455 r75488 524 524 virtual HRESULT i_onStorageDeviceChange(IMediumAttachment * /* mediumAttachment */, BOOL /* remove */, 525 525 BOOL /* silent */) { return S_OK; } 526 virtual HRESULT i_onRecordingChange( ) { return S_OK; }526 virtual HRESULT i_onRecordingChange(BOOL /* aEnable */) { return S_OK; } 527 527 528 528 HRESULT i_saveRegistryEntry(settings::MachineRegistryEntry &data); … … 1327 1327 HRESULT i_onCPUChange(ULONG aCPU, BOOL aRemove); 1328 1328 HRESULT i_onVRDEServerChange(BOOL aRestart); 1329 HRESULT i_onRecordingChange( );1329 HRESULT i_onRecordingChange(BOOL aEnable); 1330 1330 HRESULT i_onUSBControllerChange(); 1331 1331 HRESULT i_onUSBDeviceAttach(IUSBDevice *aDevice, -
trunk/src/VBox/Main/include/Recording.h
r75441 r75488 39 39 public: 40 40 41 RecordingContext(Console *pConsole);42 43 41 RecordingContext(Console *pConsole, const settings::RecordingSettings &a_Settings); 44 42 … … 64 62 public: 65 63 66 bool IsFeatureEnabled(RecordingFeature_T enmFeature) const;64 bool IsFeatureEnabled(RecordingFeature_T enmFeature); 67 65 bool IsReady(void) const; 68 bool IsReady(uint32_t uScreen, uint64_t uTimeStampMs) const; 69 bool IsStarted(void) const; 70 bool IsLimitReached(uint32_t uScreen, uint64_t tsNowMs) const; 66 bool IsReady(uint32_t uScreen, uint64_t uTimeStampMs); 67 bool IsStarted(void); 68 bool IsLimitReached(void); 69 bool IsLimitReached(uint32_t uScreen, uint64_t uTimeStampMs); 70 71 DECLCALLBACK(int) OnLimitReached(uint32_t uScreen, int rc); 71 72 72 73 protected: … … 79 80 80 81 RecordingStream *getStreamInternal(unsigned uScreen) const; 82 83 int lock(void); 84 int unlock(void); 81 85 82 86 static DECLCALLBACK(int) threadMain(RTTHREAD hThreadSelf, void *pvUser); … … 102 106 103 107 /** Pointer to the console object. */ 104 Console *pConsole;108 Console *pConsole; 105 109 /** Used recording configuration. */ 106 110 settings::RecordingSettings Settings; 107 111 /** The current state. */ 108 RECORDINGSTS enmState;112 RECORDINGSTS enmState; 109 113 /** Critical section to serialize access. */ 110 RTCRITSECT CritSect;114 RTCRITSECT CritSect; 111 115 /** Semaphore to signal the encoding worker thread. */ 112 RTSEMEVENT WaitEvent;116 RTSEMEVENT WaitEvent; 113 117 /** Shutdown indicator. */ 114 bool fShutdown;118 bool fShutdown; 115 119 /** Worker thread. */ 116 RTTHREAD Thread;120 RTTHREAD Thread; 117 121 /** Vector of current recording streams. 118 122 * Per VM screen (display) one recording stream is being used. */ 119 RecordingStreams vecStreams;123 RecordingStreams vecStreams; 120 124 /** Number of streams in vecStreams which currently are enabled for recording. */ 121 uint16_t cStreamsEnabled;125 uint16_t cStreamsEnabled; 122 126 /** Timestamp (in ms) of when recording has been started. */ 123 uint64_t tsStartMs;127 uint64_t tsStartMs; 124 128 /** Block map of common blocks which need to get multiplexed 125 129 * to all recording streams. This common block maps should help … … 129 133 * For now this only affects audio, e.g. all recording streams 130 134 * need to have the same audio data at a specific point in time. */ 131 RecordingBlockMap mapBlocksCommon;135 RecordingBlockMap mapBlocksCommon; 132 136 }; 133 137 #endif /* !____H_RECORDING */ -
trunk/src/VBox/Main/include/RecordingInternals.h
r75441 r75488 48 48 /** Pointer to the codec's internal YUV buffer. */ 49 49 uint8_t *pu8YuvBuf; 50 /** The encoder's deadline (in ms). 51 * The more time the encoder is allowed to spend encoding, the better the encoded 52 * result, in exchange for higher CPU usage and time spent encoding. */ 50 53 unsigned int uEncoderDeadline; 51 54 } VPX; -
trunk/src/VBox/Main/include/RecordingStream.h
r75441 r75488 126 126 const settings::RecordingScreenSettings &GetConfig(void) const; 127 127 uint16_t GetID(void) const { return this->uScreenID; }; 128 bool IsLimitReached(uint64_t tsNowMs) const;128 bool IsLimitReached(uint64_t uTimeStampMs) const; 129 129 bool IsReady(void) const; 130 130 … … 141 141 142 142 int initAudio(void); 143 144 bool isLimitReachedInternal(uint64_t uTimeStampMs) const; 145 int iterateInternal(uint64_t uTimeStampMs); 143 146 144 147 #ifdef VBOX_WITH_LIBVPX -
trunk/src/VBox/Main/include/SessionImpl.h
r75361 r75488 102 102 HRESULT onCPUExecutionCapChange(ULONG aExecutionCap); 103 103 HRESULT onVRDEServerChange(BOOL aRestart); 104 HRESULT onRecordingChange( );104 HRESULT onRecordingChange(BOOL aEnable); 105 105 HRESULT onUSBControllerChange(); 106 106 HRESULT onSharedFolderChange(BOOL aGlobal);
Note:
See TracChangeset
for help on using the changeset viewer.