2 Copyright 2006 Chris Tallon, Marten Richter
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, see <https://www.gnu.org/licenses/>.
20 #ifndef VAUDIOSELECTOR_H
21 #define VAUDIOSELECTOR_H
27 #include "messagequeue.h"
28 #include "wselectlist.h"
33 #define PES_AUDIO_START 0xc0
34 #define PES_AUDIO_MAXCHANNELS 0x20
35 #define PES_AUDIO_AC3_MAXCHANNELS 0x08
36 #define PES_AUDIO_AC3_START 0x80
37 #define PES_DVBSUBTITLE_MAXCHANNELS 0x08
38 #define PES_DVBSUBTITLE_START 0x20
40 class AudioSubtitleChannel
49 typedef std::vector<AudioSubtitleChannel> AudioSubtitleChannelList;
51 class VAudioSelector : public TBBoxx, public MessageReceiver
54 VAudioSelector(MessageReceiver* parent, bool* availableMpegAudioChannels, // Recording mode
55 bool* availableAc3AudioChannels, int currentAudioChannel,
56 bool* availableSubtitleChannels,
58 int currentSubtitleChannel, int currentSubtitleType,
61 VAudioSelector(MessageReceiver* tparent, Channel* channel, int currentAudioChannel,
62 int currentSubtitleChannel, int currentSubtitletype, int* ttxtpages); // Live mode
64 virtual ~VAudioSelector();
66 int handleCommand(int command);
67 void processMessage(Message* m);
74 MessageReceiver* parent;
78 AudioSubtitleChannelList acl;
79 AudioSubtitleChannelList scl;