1 /*****************************************************************************
2 * VLC backend for the Phonon library *
3 * Copyright (C) 2007-2008 Tanguy Krotoff <tkrotoff@gmail.com> *
4 * Copyright (C) 2008 Lukas Durfina <lukas.durfina@gmail.com> *
5 * Copyright (C) 2009 Fathi Boudra <fabo@kde.org> *
7 * This program is free software; you can redistribute it and/or *
8 * modify it under the terms of the GNU Lesser General Public *
9 * License as published by the Free Software Foundation; either *
10 * version 3 of the License, or (at your option) any later version. *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15 * Lesser General Public License for more details. *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with this package; if not, write to the Free Software *
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
20 *****************************************************************************/
22 #ifndef PHONON_VLC_VLCMEDIA_CONTROLLER_H
23 #define PHONON_VLC_VLCMEDIA_CONTROLLER_H
25 #include "mediacontroller.h"
26 #include "vlcloader.h"
33 * MediaController specific code for VLC.
35 class VLCMediaController : public MediaController
39 virtual ~VLCMediaController();
41 void audioChannelAdded(int id, const QString & lang);
42 void subtitleAdded(int id, const QString & lang, const QString & type);
43 void titleAdded(int id, const QString & name);
44 void chapterAdded(int titleId, const QString & name);
47 virtual void clearMediaController();
50 void setCurrentAudioChannel(const Phonon::AudioChannelDescription & audioChannel);
51 QList<Phonon::AudioChannelDescription> availableAudioChannels() const;
52 Phonon::AudioChannelDescription currentAudioChannel() const;
53 void refreshAudioChannels();
56 void setCurrentSubtitle(const Phonon::SubtitleDescription & subtitle);
57 QList<Phonon::SubtitleDescription> availableSubtitles() const;
58 Phonon::SubtitleDescription currentSubtitle() const;
59 void refreshSubtitles();
62 void setCurrentAngle(int angleNumber);
63 int availableAngles() const;
64 int currentAngle() const;
67 // void setCurrentChapter( const Phonon::ChapterDescription & chapter );
68 // QList<Phonon::ChapterDescription> availableChapters() const;
69 // Phonon::ChapterDescription currentChapter() const;
70 void setCurrentChapter(int chapterNumber);
71 int availableChapters() const;
72 int currentChapter() const;
73 void refreshChapters(int i_title);
76 // void setCurrentTitle( const Phonon::TitleDescription & title );
77 // QList<Phonon::TitleDescription> availableTitles() const;
78 // Phonon::TitleDescription currentTitle() const;
79 void setCurrentTitle(int titleNumber);
80 int availableTitles() const;
81 int currentTitle() const;
83 void setAutoplayTitles(bool autoplay);
84 bool autoplayTitles() const;
87 libvlc_media_player_t *p_vlc_media_player;
93 } // Namespace Phonon::VLC