2 Copyright 2004-2005 Chris Tallon
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 // Thanks to Jon Gettler and BtB for all the ioctl information
29 #include <sys/ioctl.h>
47 #define AV_SET_AUD_PLAY _IOW('a', 2, int)
48 #define AV_SET_AUD_PAUSE _IOW('a', 3, int)
49 #define AV_SET_AUD_UNPAUSE _IOW('a', 4, int)
50 #define AV_SET_AUD_SRC _IOW('a', 5, int)
51 #define AV_SET_AUD_MUTE _IOW('a', 6, int)
52 #define AV_SET_AUD_CHANNEL _IOW('a', 9, int)
53 #define AV_GET_AUD_INFO _IOR('a', 10, int)
54 #define AV_SET_AUD_VOLUME _IOW('a', 13, int)
55 #define AV_GET_AUD_VOLUME _IOR('a', 14, int)
56 #define AV_SET_AUD_STREAMTYPE _IOW('a', 15, int)
57 #define AV_SET_AUD_FORMAT _IOW('a', 16, int)
58 #define AV_GET_AUD_TIMESTAMPS _IOR('a', 21, sync_data_t*)
59 #define AV_SET_AUD_STC _IOW('a', 22, uint64_t *)
60 #define AV_SET_AUD_SYNC _IOW('a', 23, int)
61 #define AV_SET_AUD_DISABLE_SYNC _IOW('a', 24, aud_sync_parms_t*)
62 #define AV_SET_AUD_RESET _IOW('a', 26, int)
63 #define AV_SET_AUD_DAC_CLK _IOW('a', 27, int)
64 #define AV_GET_AUD_REGS _IOW('a', 28, aud_ctl_regs_t*)
67 class AudioMVP : public Audio
73 int init(UCHAR streamType);
76 int setStreamType(UCHAR streamType);
85 int setVolume(int volume);
88 bool supportsAc3() { return false; }
90 //Writing Data to Audiodevice
91 virtual void PrepareMediaSample(const MediaPacketList&, UINT samplepos);
92 virtual UINT DeliverMediaSample(UCHAR* buffer, UINT *samplepos);
93 virtual long long SetStartOffset(long long curreftime, bool *rsync) { return 0; };
94 virtual void ResetTimeOffsets();