diff options
| author | phintuka <phintuka> | 2012-03-19 11:07:52 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2012-03-19 11:07:52 +0000 |
| commit | 37175a927ad81f12e07d8edd2f0f8ff74151b77f (patch) | |
| tree | 1e3a542cd2d77fe652b6af47e287416cd5dea628 | |
| parent | 7640944b36387da28e75f696071a813b5af6608d (diff) | |
| download | xineliboutput-37175a927ad81f12e07d8edd2f0f8ff74151b77f.tar.gz xineliboutput-37175a927ad81f12e07d8edd2f0f8ff74151b77f.tar.bz2 | |
Bind media player to device instance
| -rw-r--r-- | media_player.c | 103 | ||||
| -rw-r--r-- | media_player.h | 11 | ||||
| -rw-r--r-- | menu.c | 45 | ||||
| -rw-r--r-- | xineliboutput.c | 24 |
4 files changed, 96 insertions, 87 deletions
diff --git a/media_player.c b/media_player.c index 03abb324..7ab5529c 100644 --- a/media_player.c +++ b/media_player.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: media_player.c,v 1.91 2012-03-18 19:17:07 phintuka Exp $ + * $Id: media_player.c,v 1.92 2012-03-19 11:07:52 phintuka Exp $ * */ @@ -318,6 +318,7 @@ class cPlaylistMenu : public cOsdMenu, cPlaylistChangeNotify protected: + cXinelibDevice *m_Dev; cPlaylist& m_Playlist; bool m_NeedsUpdate; bool& m_RandomPlay; @@ -325,7 +326,7 @@ class cPlaylistMenu : public cOsdMenu, cPlaylistChangeNotify public: - cPlaylistMenu(cPlaylist &Playlist, bool& RandomPlay); + cPlaylistMenu(cXinelibDevice *Dev, cPlaylist &Playlist, bool& RandomPlay); virtual ~cPlaylistMenu(); void Set(bool setCurrentPlaying = false); @@ -339,12 +340,13 @@ class cPlaylistMenu : public cOsdMenu, cPlaylistChangeNotify virtual void PlaylistChanged(const cPlaylistItem *item); }; -cPlaylistMenu::cPlaylistMenu(cPlaylist &Playlist, bool& RandomPlay) : +cPlaylistMenu::cPlaylistMenu(cXinelibDevice *Dev, cPlaylist &Playlist, bool& RandomPlay) : cOsdMenu(tr("Playlist")), m_Playlist(Playlist), m_RandomPlay(RandomPlay), m_IC("UTF-8", cCharSetConv::SystemCharacterTable()) { + m_Dev = Dev; m_Marked = -1; SetTitle(cString::sprintf("%s: %s", tr("Playlist"), m_IC.Convert(*Playlist.Name()))); Playlist.Listen(this); @@ -396,7 +398,7 @@ eOSState cPlaylistMenu::ProcessKey(eKeys Key) SetHelpButtons(); return osContinue; case kGreen: - return AddSubMenu(cMenuXinelib::CreateMenuBrowseFiles(&(cXinelibDevice::Instance()),ShowMusic)); + return AddSubMenu(cMenuXinelib::CreateMenuBrowseFiles(m_Dev, ShowMusic)); case kYellow: if(m_Playlist.Count() > 1) { eOSState result = osContinue; cPlaylistItem *i = m_Playlist.Current(); @@ -485,11 +487,13 @@ class cXinelibPlayerControl : public cControl private: static cMutex m_Lock; - static cXinelibPlayer *OpenPlayer(const char *File, bool Queue = false, const char *SubFile = NULL); + static cXinelibPlayer *OpenPlayer(cXinelibDevice *Dev, const char *File, bool Queue = false, const char *SubFile = NULL); protected: static cXinelibPlayer *m_Player; + cXinelibDevice *m_Dev; + cSkinDisplayReplay *m_DisplayReplay; cPlaylistMenu *m_PlaylistMenu; @@ -508,7 +512,7 @@ class cXinelibPlayerControl : public cControl void MsgReplaying(const char *Title, const char *File); public: - cXinelibPlayerControl(eMainMenuMode Mode, const char *File, const char *SubFile = NULL); + cXinelibPlayerControl(cXinelibDevice *Dev, eMainMenuMode Mode, const char *File, const char *SubFile = NULL); virtual ~cXinelibPlayerControl(); virtual void Show(void); @@ -518,15 +522,16 @@ class cXinelibPlayerControl : public cControl static void Close(void); static bool IsOpen(void) { return m_Player != NULL; }; - static void Queue(const char *File); + static void Queue(cXinelibDevice *Dev, const char *File); }; cXinelibPlayer *cXinelibPlayerControl::m_Player = NULL; cMutex cXinelibPlayerControl::m_Lock; -cXinelibPlayerControl::cXinelibPlayerControl(eMainMenuMode Mode, const char *File, const char *SubFile) : - cControl(OpenPlayer(File, false, SubFile)) +cXinelibPlayerControl::cXinelibPlayerControl(cXinelibDevice *Dev, eMainMenuMode Mode, const char *File, const char *SubFile) : + cControl(OpenPlayer(Dev, File, false, SubFile)) { + m_Dev = Dev; m_DisplayReplay = NULL; m_PlaylistMenu = NULL; m_ShowModeOnly = true; @@ -570,7 +575,7 @@ void cXinelibPlayerControl::MsgReplaying(const char *Title, const char *File) cStatus::MsgReplaying(this, Title, File, true); } -void cXinelibPlayerControl::Queue(const char *File) +void cXinelibPlayerControl::Queue(cXinelibDevice *Dev, const char *File) { if(!File) return; @@ -580,8 +585,8 @@ void cXinelibPlayerControl::Queue(const char *File) LOGMSG("cXinelibPlayerControl::Queue(%s)", File); if(!m_Player) { - OpenPlayer(File, true); - cControl::Launch(new cXinelibPlayerControl(ShowMusic, NULL)); + OpenPlayer(Dev, File, true); + cControl::Launch(new cXinelibPlayerControl(Dev, ShowMusic, NULL)); } else { size_t len = strlen(File); if(len && File[len-1] == '/') @@ -599,11 +604,11 @@ void cXinelibPlayerControl::Queue(const char *File) } -cXinelibPlayer *cXinelibPlayerControl::OpenPlayer(const char *File, bool Queue, const char *SubFile) +cXinelibPlayer *cXinelibPlayerControl::OpenPlayer(cXinelibDevice *Dev, const char *File, bool Queue, const char *SubFile) { m_Lock.Lock(); if(!m_Player) - m_Player = new cXinelibPlayer(&(cXinelibDevice::Instance()), File, Queue, SubFile); + m_Player = new cXinelibPlayer(Dev, File, Queue, SubFile); m_Lock.Unlock(); return m_Player; } @@ -731,7 +736,7 @@ eOSState cXinelibPlayerControl::ProcessKey(eKeys Key) // replay menu case kRed: if(m_Player->Playlist().Count() > 1) { Hide(); - m_PlaylistMenu = new cPlaylistMenu(m_Player->Playlist(), m_RandomPlay); + m_PlaylistMenu = new cPlaylistMenu(m_Dev, m_Player->Playlist(), m_RandomPlay); m_AutoShowStart = 0; } else { m_Player->Control("SEEK 0"); break; @@ -772,7 +777,7 @@ eOSState cXinelibPlayerControl::ProcessKey(eKeys Key) if ( m_Mode == ShowMusic ) { switch(Key) { case kRed: Hide(); - m_PlaylistMenu = new cPlaylistMenu(m_Player->Playlist(), m_RandomPlay); + m_PlaylistMenu = new cPlaylistMenu(m_Dev, m_Player->Playlist(), m_RandomPlay); m_AutoShowStart = 0; break; case kNext: @@ -970,8 +975,8 @@ class cXinelibDvdPlayerControl : public cXinelibPlayerControl void CloseDvdMenu(void); public: - cXinelibDvdPlayerControl(const char *File) : - cXinelibPlayerControl(ShowFiles, File), m_DvdMenu(NULL) + cXinelibDvdPlayerControl(cXinelibDevice *Dev, const char *File) : + cXinelibPlayerControl(Dev, ShowFiles, File), m_DvdMenu(NULL) {} virtual ~cXinelibDvdPlayerControl(); @@ -1231,7 +1236,7 @@ class cXinelibBdPlayerControl : public cXinelibPlayerControl void CloseBdMenu(void); public: - cXinelibBdPlayerControl(const char *File); + cXinelibBdPlayerControl(cXinelibDevice *Dev, const char *File); virtual ~cXinelibBdPlayerControl(); virtual void Show(void); @@ -1239,8 +1244,8 @@ class cXinelibBdPlayerControl : public cXinelibPlayerControl virtual eOSState ProcessKey(eKeys Key); }; -cXinelibBdPlayerControl::cXinelibBdPlayerControl(const char *File) : - cXinelibPlayerControl(ShowFiles, File), m_BdMenu(NULL) +cXinelibBdPlayerControl::cXinelibBdPlayerControl(cXinelibDevice *Dev, const char *File) : + cXinelibPlayerControl(Dev, ShowFiles, File), m_BdMenu(NULL) { } @@ -1521,14 +1526,14 @@ class cXinelibImagesControl : public cControl int m_LastShowTime; bool m_ShowModeOnly; - static cXinelibImagePlayer *OpenPlayer(const char *File); + static cXinelibImagePlayer *OpenPlayer(cXinelibDevice *Dev, const char *File); protected: void Seek(int Rel); void Delete(void); public: - cXinelibImagesControl(cPlaylist *Playlist); + cXinelibImagesControl(cXinelibDevice *Dev, cPlaylist *Playlist); virtual ~cXinelibImagesControl(); virtual void Show(void); @@ -1544,8 +1549,8 @@ class cXinelibImagesControl : public cControl cXinelibImagePlayer *cXinelibImagesControl::m_Player = NULL; cMutex cXinelibImagesControl::m_Lock; -cXinelibImagesControl::cXinelibImagesControl(cPlaylist *Playlist) : - cControl(OpenPlayer(Playlist->Current()->Filename)) +cXinelibImagesControl::cXinelibImagesControl(cXinelibDevice *Dev, cPlaylist *Playlist) : + cControl(OpenPlayer(Dev, Playlist->Current()->Filename)) { m_DisplayReplay = NULL; m_Playlist = Playlist; @@ -1567,11 +1572,11 @@ cXinelibImagesControl::~cXinelibImagesControl() delete m_Playlist; } -cXinelibImagePlayer *cXinelibImagesControl::OpenPlayer(const char *File) +cXinelibImagePlayer *cXinelibImagesControl::OpenPlayer(cXinelibDevice *Dev, const char *File) { m_Lock.Lock(); if(!m_Player) - m_Player = new cXinelibImagePlayer(&(cXinelibDevice::Instance()), File); + m_Player = new cXinelibImagePlayer(Dev, File); m_Lock.Unlock(); return m_Player; } @@ -1736,7 +1741,7 @@ cControl *CreateControl(cXinelibDevice *Dev, { if (PlayMode == pmVideoOnly) { - return new cXinelibImagesControl(Playlist); + return new cXinelibImagesControl(Dev, Playlist); } LOGMSG("cPlayerFactory::Create(cPlaylist*) not implemented for PlayMode %d !", @@ -1754,25 +1759,25 @@ cControl *CreateControl(cXinelibDevice *Dev, // Special mrls if (!strncmp(Mrl, "dvd:/", 5)) - return new cXinelibDvdPlayerControl(Mrl); + return new cXinelibDvdPlayerControl(Dev, Mrl); if (!strncmp(Mrl, "bluray:/", 8)) - return new cXinelibBdPlayerControl(Mrl); + return new cXinelibBdPlayerControl(Dev, Mrl); if (!strncmp(Mrl, "bd:/", 4)) - return new cXinelibBdPlayerControl(Mrl); + return new cXinelibBdPlayerControl(Dev, Mrl); if (!strncmp(Mrl, "cdda:/", 6)) - return new cXinelibPlayerControl(ShowMusic, Mrl); + return new cXinelibPlayerControl(Dev, ShowMusic, Mrl); if (xc.IsDvdImage(Mrl)) - return new cXinelibDvdPlayerControl(Mrl); + return new cXinelibDvdPlayerControl(Dev, Mrl); // Playmode if (PlayMode == pmAudioOnly) - return new cXinelibPlayerControl(ShowMusic, Mrl); + return new cXinelibPlayerControl(Dev, ShowMusic, Mrl); if (PlayMode == pmAudioVideo) - return new cXinelibPlayerControl(ShowFiles, Mrl, SubFile); + return new cXinelibPlayerControl(Dev, ShowFiles, Mrl, SubFile); if (PlayMode == pmVideoOnly) { - return new cXinelibImagesControl(CreatePlaylist(Mrl)); + return new cXinelibImagesControl(Dev, CreatePlaylist(Mrl)); } // guess from playlist content @@ -1784,35 +1789,35 @@ cControl *CreateControl(cXinelibDevice *Dev, return NULL; if (xc.IsAudioFile(Playlist.First()->Filename)) - return new cXinelibPlayerControl(ShowMusic, Mrl); + return new cXinelibPlayerControl(Dev, ShowMusic, Mrl); if (xc.IsImageFile(Playlist.First()->Filename)) { - return new cXinelibImagesControl(CreatePlaylist(Mrl)); + return new cXinelibImagesControl(Dev, CreatePlaylist(Mrl)); } - return new cXinelibPlayerControl(ShowFiles, Mrl); + return new cXinelibPlayerControl(Dev, ShowFiles, Mrl); } // guess from file type if (xc.IsAudioFile(Mrl)) - return new cXinelibPlayerControl(ShowMusic, Mrl); + return new cXinelibPlayerControl(Dev, ShowMusic, Mrl); if (xc.IsVideoFile(Mrl)) - return new cXinelibPlayerControl(ShowFiles, Mrl, SubFile); + return new cXinelibPlayerControl(Dev, ShowFiles, Mrl, SubFile); if (xc.IsImageFile(Mrl)) { - return new cXinelibImagesControl(CreatePlaylist(Mrl)); + return new cXinelibImagesControl(Dev, CreatePlaylist(Mrl)); } // default - return new cXinelibPlayerControl(ShowFiles, Mrl, SubFile); + return new cXinelibPlayerControl(Dev, ShowFiles, Mrl, SubFile); } -void cPlayerFactory::Queue(const char *Mrl) +void cPlayerFactory::Queue(cXinelibDevice *Dev, const char *Mrl) { - cXinelibPlayerControl::Queue(Mrl); + cXinelibPlayerControl::Queue(Dev, Mrl); } bool cPlayerFactory::IsOpen(void) @@ -1820,12 +1825,12 @@ bool cPlayerFactory::IsOpen(void) return cXinelibPlayerControl::IsOpen(); } -bool cPlayerFactory::Launch(ePlayMode PlayMode, +bool cPlayerFactory::Launch(cXinelibDevice *Dev, + ePlayMode PlayMode, const char *Mrl, const char *SubFile, bool BackToMenu) { - cXinelibDevice *Dev = &(cXinelibDevice::Instance()); cControl *Control = CreateControl(Dev, PlayMode, Mrl, SubFile, BackToMenu); if (!Control) { @@ -1839,11 +1844,11 @@ bool cPlayerFactory::Launch(ePlayMode PlayMode, return true; } -bool cPlayerFactory::Launch(ePlayMode PlayMode, +bool cPlayerFactory::Launch(cXinelibDevice *Dev, + ePlayMode PlayMode, cPlaylist *Playlist, bool BackToMenu) { - cXinelibDevice *Dev = &(cXinelibDevice::Instance()); cControl *Control = CreateControl(Dev, PlayMode, Playlist, BackToMenu); if (!Control) { diff --git a/media_player.h b/media_player.h index 47ad20e0..c97823ba 100644 --- a/media_player.h +++ b/media_player.h @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: media_player.h,v 1.23 2010-12-19 14:46:24 phintuka Exp $ + * $Id: media_player.h,v 1.24 2012-03-19 11:07:52 phintuka Exp $ * */ @@ -12,6 +12,7 @@ #define __XINELIB_PLAYER_H class cPlaylist; +class cXinelibDevice; class cPlayerFactory { @@ -20,14 +21,14 @@ class cPlayerFactory // interact with current player static bool IsOpen(void); - static void Queue (const char *Mrl); + static void Queue (cXinelibDevice *Dev, const char *Mrl); // launch new media player - static bool Launch(const char *Mrl, const char *SubFile = NULL) { return Launch(pmNone, Mrl, SubFile); }; + static bool Launch(cXinelibDevice *Dev, const char *Mrl, const char *SubFile = NULL) { return Launch(Dev, pmNone, Mrl, SubFile); }; - static bool Launch(ePlayMode PlayMode, const char *Mrl, const char *SubFile = NULL, bool BackToMenu = false); - static bool Launch(ePlayMode PlayMode, cPlaylist *Playlist, bool BackToMenu = false); + static bool Launch(cXinelibDevice *Dev, ePlayMode PlayMode, const char *Mrl, const char *SubFile = NULL, bool BackToMenu = false); + static bool Launch(cXinelibDevice *Dev, ePlayMode PlayMode, cPlaylist *Playlist, bool BackToMenu = false); }; #endif // __XINELIB_PLAYER_H @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: menu.c,v 1.94 2012-03-18 19:17:07 phintuka Exp $ + * $Id: menu.c,v 1.95 2012-03-19 11:07:52 phintuka Exp $ * */ @@ -78,18 +78,21 @@ static bool BlurayMenuSupported(const cString& Path) class cMenuBluray : public cOsdMenu { private: + cXinelibDevice *m_Dev; + cString m_Path; public: - cMenuBluray(const char *Path); + cMenuBluray(cXinelibDevice *Dev, const char *Path); virtual ~cMenuBluray() {}; virtual eOSState ProcessKey(eKeys Key); }; -cMenuBluray::cMenuBluray(const char *Path) : cOsdMenu("BluRay") +cMenuBluray::cMenuBluray(cXinelibDevice *Dev, const char *Path) : cOsdMenu("BluRay") { + m_Dev = Dev; m_Path = Path; Add(new cOsdItem(tr("Play movie title"), osUser1)); Add(new cOsdItem(tr("Play disc"), osUser2)); @@ -101,12 +104,12 @@ eOSState cMenuBluray::ProcessKey(eKeys Key) eOSState state = cOsdMenu::ProcessKey(Key); switch (state) { case osUser1: - cPlayerFactory::Launch(pmAudioVideo, + cPlayerFactory::Launch(m_Dev, pmAudioVideo, cPlaylist::BuildMrl("bluray", *m_Path), NULL, true); return osEnd; case osUser2: - cPlayerFactory::Launch(pmAudioVideo, + cPlayerFactory::Launch(m_Dev, pmAudioVideo, cPlaylist::BuildMrl("bd", *m_Path), NULL, true); return osEnd; @@ -341,7 +344,7 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Queue, bool Rewind) if (!ForceOpen && GetCurrent()->IsDvd()) { /* play dvd */ - cPlayerFactory::Launch(pmAudioVideo, + cPlayerFactory::Launch(m_Dev, pmAudioVideo, cPlaylist::BuildMrl("dvd", *m_CurrentDir, "/", GetCurrent()->Name()), NULL, true); return osEnd; @@ -349,11 +352,11 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Queue, bool Rewind) if (!ForceOpen && GetCurrent()->IsBluRay()) { cString bd_path = cString::sprintf("%s/%s/", *m_CurrentDir, GetCurrent()->Name()); if (BlurayMenuSupported(bd_path)) { - AddSubMenu(new cMenuBluray(bd_path)); + AddSubMenu(new cMenuBluray(m_Dev, bd_path)); return osContinue; } /* play BluRay disc/image */ - cPlayerFactory::Launch(pmAudioVideo, + cPlayerFactory::Launch(m_Dev, pmAudioVideo, cPlaylist::BuildMrl("bluray", *m_CurrentDir, "/", GetCurrent()->Name(), "/"), NULL, true); return osEnd; @@ -372,9 +375,9 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Queue, bool Rewind) if (!Queue || !cPlayerFactory::IsOpen()) cControl::Shutdown(); if (Queue) - cPlayerFactory::Queue(f); + cPlayerFactory::Queue(m_Dev, f); else - cPlayerFactory::Launch(m_Mode == ShowFiles ? pmAudioVideo : pmAudioOnly, f, NULL, true); + cPlayerFactory::Launch(m_Dev, m_Mode == ShowFiles ? pmAudioVideo : pmAudioOnly, f, NULL, true); return Queue ? osContinue : osEnd; } else { @@ -407,19 +410,19 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Queue, bool Rewind) if (!Queue || !cPlayerFactory::IsOpen()) cControl::Shutdown(); if (Queue) - cPlayerFactory::Queue(f); + cPlayerFactory::Queue(m_Dev, f); if (!cPlayerFactory::IsOpen()) { if (Rewind) unlink(cString::sprintf("%s.resume", *f)); if (GetCurrent()->IsBluRay()) { - AddSubMenu(new cMenuBluray(f)); + AddSubMenu(new cMenuBluray(m_Dev, f)); return osContinue; } if (GetCurrent()->IsDvd()) - cPlayerFactory::Launch(pmAudioVideo, cPlaylist::BuildMrl("dvd", f), NULL, true); + cPlayerFactory::Launch(m_Dev, pmAudioVideo, cPlaylist::BuildMrl("dvd", f), NULL, true); else - cPlayerFactory::Launch(m_Mode == ShowFiles ? pmAudioVideo : pmAudioOnly, + cPlayerFactory::Launch(m_Dev, m_Mode == ShowFiles ? pmAudioVideo : pmAudioOnly, f, GetCurrent()->SubFile(), true); } if (Queue) @@ -433,7 +436,7 @@ eOSState cMenuBrowseFiles::Open(bool ForceOpen, bool Queue, bool Rewind) if (it == Get(Current())) Playlist->SetCurrent(Playlist->Last()); } - cPlayerFactory::Launch(pmVideoOnly, Playlist, true); + cPlayerFactory::Launch(m_Dev, pmVideoOnly, Playlist, true); } return osEnd; } @@ -686,13 +689,13 @@ eOSState cMenuXinelib::ProcessKey(eKeys Key) AddSubMenu(new cMenuBrowseFiles(m_Dev, ShowImages)); return osContinue; case osUser4: - cPlayerFactory::Launch("dvd:/"); + cPlayerFactory::Launch(m_Dev, "dvd:/"); return osEnd; case osUser5: - AddSubMenu(new cMenuBluray(NULL)); + AddSubMenu(new cMenuBluray(m_Dev, NULL)); return osContinue; case osUser6: - cPlayerFactory::Launch("cdda:/"); + cPlayerFactory::Launch(m_Dev, "cdda:/"); return osEnd; case osUser7: if (!xc.pending_menu_action) { @@ -742,11 +745,11 @@ eOSState cMenuXinelib::ProcessHotkey(eKeys Key) switch (Key) { case HOTKEY_DVD: - cPlayerFactory::Launch("dvd:/"); + cPlayerFactory::Launch(m_Dev, "dvd:/"); break; case HOTKEY_DVD_TRACK1: - cPlayerFactory::Launch("dvd:/1"); + cPlayerFactory::Launch(m_Dev, "dvd:/1"); break; case HOTKEY_LOCAL_FE: @@ -897,7 +900,7 @@ eOSState cMenuXinelib::ProcessHotkey(eKeys Key) Message = tr("Default playlist not found"); } else { LOGDBG("Replaying default playlist: %s", *file); - cPlayerFactory::Launch(buffer); + cPlayerFactory::Launch(m_Dev, buffer); } } else { Message = tr("Default playlist is not symlink"); diff --git a/xineliboutput.c b/xineliboutput.c index b2983cfc..5d4eafce 100644 --- a/xineliboutput.c +++ b/xineliboutput.c @@ -21,7 +21,7 @@ * * xineliboutput.c: VDR Plugin interface * - * $Id: xineliboutput.c,v 1.53 2012-03-19 09:53:14 phintuka Exp $ + * $Id: xineliboutput.c,v 1.54 2012-03-19 11:07:52 phintuka Exp $ * */ @@ -247,7 +247,7 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data) if(!strcmp(Id, "MediaPlayer-1.0")) { if(CData && *CData) { LOGMSG("Service(%s, %s)", Id, CData); - cPlayerFactory::Launch(pmAudioVideo, CData); + cPlayerFactory::Launch(m_Dev, pmAudioVideo, CData); return true; } LOGMSG("Service(%s) -> true", Id); @@ -257,7 +257,7 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data) else if(!strcmp(Id, "MusicPlayer-1.0")) { if(CData && *CData) { LOGMSG("Service(%s, %s)", Id, CData); - cPlayerFactory::Launch(pmAudioOnly, CData); + cPlayerFactory::Launch(m_Dev, pmAudioOnly, CData); return true; } LOGMSG("Service(%s) -> true", Id); @@ -267,7 +267,7 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data) else if(!strcmp(Id, "DvdPlayer-1.0")) { if(Data && *CData) { LOGMSG("Service(%s, %s)", Id, CData); - cPlayerFactory::Launch(pmNone, CData); + cPlayerFactory::Launch(m_Dev, pmNone, CData); return true; } LOGMSG("Service(%s) -> true", Id); @@ -277,7 +277,7 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data) else if(!strcmp(Id, "ImagePlayer-1.0")) { if(CData && *CData) { LOGMSG("Service(%s, %s)", Id, CData); - cPlayerFactory::Launch(pmVideoOnly, CData); + cPlayerFactory::Launch(m_Dev, pmVideoOnly, CData); return true; } LOGMSG("Service(%s) -> true", Id); @@ -290,7 +290,7 @@ bool cPluginXinelibOutput::Service(const char *Id, void *Data) int local_frontend = strstra(CData, xc.s_frontends, -1); if (local_frontend >= 0 && local_frontend < FRONTEND_count && strcmp(CData, xc.local_frontend)) { strn0cpy(xc.local_frontend, xc.s_frontends[local_frontend], sizeof(xc.local_frontend)); - cXinelibDevice::Instance().ConfigureWindow( + m_Dev->ConfigureWindow( xc.fullscreen, xc.width, xc.height, xc.modeswitch, xc.modeline, xc.display_aspect, xc.scale_video); } @@ -329,7 +329,7 @@ cString cPluginXinelibOutput::SVDRPCommand(const char *Command, const char *Opti if(strcasecmp(Command, "PMDA") == 0) { if(*Option) { LOGMSG("SVDRP(%s, %s)", Command, Option); - cPlayerFactory::Launch(pmAudioVideo, Option); + cPlayerFactory::Launch(m_Dev, pmAudioVideo, Option); return cString("Playing video file"); } else { ReplyCode = 550; // Requested action not taken @@ -340,9 +340,9 @@ cString cPluginXinelibOutput::SVDRPCommand(const char *Command, const char *Opti else if(strcasecmp(Command, "PDVD") == 0) { if(*Option) { LOGMSG("SVDRP(%s, %s)", Command, Option); - cPlayerFactory::Launch(pmNone, Option); + cPlayerFactory::Launch(m_Dev, pmNone, Option); } else { - cPlayerFactory::Launch(pmNone, "dvd:/"); + cPlayerFactory::Launch(m_Dev, pmNone, "dvd:/"); } return cString("Playing DVD disc"); } @@ -350,7 +350,7 @@ cString cPluginXinelibOutput::SVDRPCommand(const char *Command, const char *Opti else if(strcasecmp(Command, "PMSC") == 0) { if(*Option) { LOGMSG("SVDRP(%s, %s)", Command, Option); - cPlayerFactory::Launch(pmAudioOnly, Option); + cPlayerFactory::Launch(m_Dev, pmAudioOnly, Option); return cString("Playing music file"); } else { ReplyCode = 550; // Requested action not taken @@ -361,7 +361,7 @@ cString cPluginXinelibOutput::SVDRPCommand(const char *Command, const char *Opti else if(strcasecmp(Command, "PIMG") == 0) { if(*Option) { LOGMSG("SVDRP(%s, %s)", Command, Option); - cPlayerFactory::Launch(pmVideoOnly, Option); + cPlayerFactory::Launch(m_Dev, pmVideoOnly, Option); return cString("Showing image file"); } else { ReplyCode = 550; // Requested action not taken @@ -372,7 +372,7 @@ cString cPluginXinelibOutput::SVDRPCommand(const char *Command, const char *Opti else if(strcasecmp(Command, "QMSC") == 0) { if(*Option) { LOGMSG("SVDRP(%s, %s)", Command, Option); - cPlayerFactory::Queue(Option); + cPlayerFactory::Queue(m_Dev, Option); return cString("Queueing music file"); } else { ReplyCode = 550; // Requested action not taken |
