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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #include "dssourcefilter.h"
33 struct AudioFilterDesc {
38 typedef vector<AudioFilterDesc> AudioFilterDescList;
40 class AudioWin : public Audio
46 int init(UCHAR streamType);
49 int setStreamType(UCHAR streamType);
58 int setVolume(int volume);
61 int write(char *buf, int len);
63 bool loadOptionsfromServer(VDR* vdr);
64 bool saveOptionstoServer();
65 bool addOptionPagesToWTB(WTabBar *wtb);
67 // Writing Data to Audiodevice
68 virtual void PrepareMediaSample(const MediaPacketList&, UINT samplepos);
69 virtual UINT DeliverMediaSample(const UCHAR* buffer, UINT *samplepos);
70 UINT DeliverMediaPacket(MediaPacket packet, const UCHAR* buffer, UINT *samplepos);
72 int dsInitAudioFilter(IGraphBuilder* dsgraphbuilder);
73 const AudioFilterDescList *getAudioFilterList(int &selected);
74 bool selectAudioFilter(int filter);
76 const AudioFilterDescList *getMp3AudioFilterList(int &selected);
77 bool selectMp3AudioFilter(int filter);
79 virtual bool supportsAc3();
81 MediaPacket mediapacket;
83 virtual long long SetStartOffset(long long curreftime, bool *rsync);
84 virtual void ResetTimeOffsets();
87 IBaseFilter *getAudioFilter();
88 IBaseFilter *getMp3AudioFilter();
89 void initFilterDatabase();
90 void initMp3FilterDatabase();
91 AudioFilterDescList audiofilterlist;
92 AudioFilterDescList mp3audiofilterlist;
93 int audiofilterselected;
94 int mp3audiofilterselected;