VirtualBox

source: vbox/trunk/src/VBox/Main/include/DrvAudioRec.h@ 96237

Last change on this file since 96237 was 96175, checked in by vboxsync, 3 years ago

Recording: Implemented support for Vorbis codec (provided by libvorbis, not enabled by default yet). This also makes all the codec handling more abstract by using a simple codec wrapper, to keep other places free from codec-specific as much as possible. Initial implementation works and output files are being recognized by media players, but there still are some timing bugs to resolve, as well as optimizing the performance. bugref:10275

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1/* $Id: DrvAudioRec.h 96175 2022-08-12 14:01:17Z vboxsync $ */
2/** @file
3 * VirtualBox driver interface video recording audio backend.
4 */
5
6/*
7 * Copyright (C) 2017-2022 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.215389.xyz. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef MAIN_INCLUDED_DrvAudioRec_h
19#define MAIN_INCLUDED_DrvAudioRec_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24#include <VBox/com/ptr.h>
25#include <VBox/settings.h>
26#include <VBox/vmm/pdmdrv.h>
27#include <VBox/vmm/pdmifs.h>
28
29#include "AudioDriver.h"
30#include "Recording.h"
31
32using namespace com;
33
34class Console;
35
36class AudioVideoRec : public AudioDriver
37{
38
39public:
40
41 AudioVideoRec(Console *pConsole);
42 virtual ~AudioVideoRec(void);
43
44public:
45
46 static const PDMDRVREG DrvReg;
47
48public:
49
50 int applyConfiguration(const settings::RecordingSettings &Settings);
51
52public:
53
54 static DECLCALLBACK(int) drvConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags);
55 static DECLCALLBACK(void) drvDestruct(PPDMDRVINS pDrvIns);
56 static DECLCALLBACK(void) drvPowerOff(PPDMDRVINS pDrvIns);
57
58private:
59
60 virtual int configureDriver(PCFGMNODE pLunCfg, PCVMMR3VTABLE pVMM) RT_OVERRIDE;
61
62 /** Pointer to the associated video recording audio driver. */
63 struct DRVAUDIORECORDING *mpDrv;
64 /** Recording settings used for configuring the driver. */
65 struct settings::RecordingSettings mSettings;
66};
67
68#endif /* !MAIN_INCLUDED_DrvAudioRec_h */
69
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette