Skip to content

Commit

Permalink
renderer: refactor RenderManager and LinuxRendererGL
Browse files Browse the repository at this point in the history
  • Loading branch information
FernetMenta committed Jun 10, 2015
1 parent 1bbf97f commit a4dfc6f
Show file tree
Hide file tree
Showing 26 changed files with 1,522 additions and 1,010 deletions.
59 changes: 36 additions & 23 deletions Kodi.xcodeproj/project.pbxproj
Expand Up @@ -6,26 +6,6 @@
objectVersion = 46;
objects = {

/* Begin PBXNativeTarget section */
6E2FACBA0E26DF7A00DF79EA /* Kodi.app */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6E2FACC10E26DFA300DF79EA /* Build configuration list for PBXNativeTarget "Kodi.app" */;
buildPhases = (
F5DEC3580E6DEBB2005A4E24 /* copy root files */,
6E2FACC70E26E22400DF79EA /* copy frameworks */,
81B8FC150E7D927A00354E2E /* update version info */,
1D64E5FC157BD76F001ACEBE /* genoutputdirlink */,
);
dependencies = (
6E2FACC40E26E08100DF79EA /* PBXTargetDependency */,
);
name = Kodi.app;
productName = Kodi.app;
productReference = D6299ABB1AFC2A9F00E3059D /* Kodi.app */;
productType = "com.apple.product-type.application";
};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
0E3036EC1760F68A00D93596 /* FavouritesDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0E3036EA1760F68A00D93596 /* FavouritesDirectory.cpp */; };
0E3036ED1760F68A00D93596 /* FavouritesDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0E3036EA1760F68A00D93596 /* FavouritesDirectory.cpp */; };
Expand Down Expand Up @@ -397,6 +377,7 @@
7CAA469019427AED00008885 /* PosixDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CAA468E19427AED00008885 /* PosixDirectory.cpp */; };
7CAA469119427AED00008885 /* PosixDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CAA468E19427AED00008885 /* PosixDirectory.cpp */; };
7CAA469219427AED00008885 /* PosixDirectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CAA468E19427AED00008885 /* PosixDirectory.cpp */; };
7CBB101F1B1E1C7D00E4FDE5 /* RendererVDA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CBB101D1B1E1C7D00E4FDE5 /* RendererVDA.cpp */; };
7CBEBB8412912BA400431822 /* fstrcmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7CBEBB8212912BA300431822 /* fstrcmp.c */; };
7CC30DB116291A5C003E7579 /* MusicThumbLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC30DAF16291A5C003E7579 /* MusicThumbLoader.cpp */; };
7CC30DC016291C2C003E7579 /* VideoThumbLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CC30DBE16291C2C003E7579 /* VideoThumbLoader.cpp */; };
Expand Down Expand Up @@ -3787,6 +3768,8 @@
7CAA25381085971C0096DE39 /* ScraperUrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScraperUrl.h; sourceTree = "<group>"; };
7CAA468E19427AED00008885 /* PosixDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PosixDirectory.cpp; sourceTree = "<group>"; };
7CAA468F19427AED00008885 /* PosixDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PosixDirectory.h; sourceTree = "<group>"; };
7CBB101D1B1E1C7D00E4FDE5 /* RendererVDA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RendererVDA.cpp; path = HwDecRender/RendererVDA.cpp; sourceTree = "<group>"; };
7CBB101E1B1E1C7D00E4FDE5 /* RendererVDA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RendererVDA.h; path = HwDecRender/RendererVDA.h; sourceTree = "<group>"; };
7CBEBB8212912BA300431822 /* fstrcmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fstrcmp.c; sourceTree = "<group>"; };
7CC30DAF16291A5C003E7579 /* MusicThumbLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicThumbLoader.cpp; sourceTree = "<group>"; };
7CC30DB016291A5C003E7579 /* MusicThumbLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicThumbLoader.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4200,7 +4183,6 @@
889B4D8D0E0EF86C00FAD25E /* RSSDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RSSDirectory.h; sourceTree = "<group>"; };
88ECB6580DE013C4003396A7 /* DiskArbitration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiskArbitration.framework; path = /System/Library/Frameworks/DiskArbitration.framework; sourceTree = "<absolute>"; };
8DD76F7E0486A8DE00D96B5E /* Kodi */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Kodi; sourceTree = BUILT_PRODUCTS_DIR; };
D6299ABB1AFC2A9F00E3059D /* Kodi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Kodi.app; sourceTree = BUILT_PRODUCTS_DIR; };
AE4E87A517354C4A00D15206 /* XSLTUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUtils.cpp; sourceTree = "<group>"; };
AE4E87A617354C4A00D15206 /* XSLTUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTUtils.h; sourceTree = "<group>"; };
AE84CB5915A5B8A600A3810E /* TagLibVFSStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TagLibVFSStream.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4317,6 +4299,7 @@
C8D0B2AE1265A9A800F0C0AC /* SystemGlobals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemGlobals.cpp; sourceTree = "<group>"; };
C8EC5D0C1369519D00CCC10D /* XBMC_keytable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XBMC_keytable.cpp; sourceTree = "<group>"; };
C8EC5D0D1369519D00CCC10D /* XBMC_keytable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XBMC_keytable.h; sourceTree = "<group>"; };
D6299ABB1AFC2A9F00E3059D /* Kodi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Kodi.app; sourceTree = BUILT_PRODUCTS_DIR; };
DF00492B162DAEA200A971AD /* PVROperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PVROperations.cpp; sourceTree = "<group>"; };
DF00492C162DAEA200A971AD /* PVROperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PVROperations.h; sourceTree = "<group>"; };
DF02BA601A910623006DCA16 /* VideoSyncIos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoSyncIos.cpp; path = videosync/VideoSyncIos.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -5431,7 +5414,7 @@
E46F7C2B0F77219700C25D29 /* ZeroconfOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZeroconfOSX.h; sourceTree = "<group>"; };
E46F7C2C0F77219700C25D29 /* ZeroconfOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ZeroconfOSX.cpp; sourceTree = "<group>"; };
E47252BF175115F9001C1AAA /* Codesign.command */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = Codesign.command; sourceTree = "<group>"; };
E4991089174D0D2600741B6D /* Kodi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; name = Kodi.app; path = .app; sourceTree = BUILT_PRODUCTS_DIR; };
E4991089174D0D2600741B6D /* Kodi.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Kodi.app; sourceTree = BUILT_PRODUCTS_DIR; };
E499108B174D0D2600741B6D /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
E499108D174D0D2600741B6D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
E499108F174D0D2600741B6D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
Expand Down Expand Up @@ -6980,6 +6963,15 @@
path = posix;
sourceTree = "<group>";
};
7CBB101C1B1E1C0700E4FDE5 /* HwDecRender */ = {
isa = PBXGroup;
children = (
7CBB101D1B1E1C7D00E4FDE5 /* RendererVDA.cpp */,
7CBB101E1B1E1C7D00E4FDE5 /* RendererVDA.h */,
);
name = HwDecRender;
sourceTree = "<group>";
};
7CCD9F52192753E30074CF51 /* Source */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -8610,6 +8602,7 @@
E38E16580D25F9FA00618676 /* VideoRenderers */ = {
isa = PBXGroup;
children = (
7CBB101C1B1E1C0700E4FDE5 /* HwDecRender */,
E38E166B0D25F9FA00618676 /* VideoShaders */,
7CAA204F1079C8160096DE39 /* BaseRenderer.cpp */,
7CAA20501079C8160096DE39 /* BaseRenderer.h */,
Expand Down Expand Up @@ -9726,6 +9719,25 @@
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
6E2FACBA0E26DF7A00DF79EA /* Kodi.app */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6E2FACC10E26DFA300DF79EA /* Build configuration list for PBXNativeTarget "Kodi.app" */;
buildPhases = (
F5DEC3580E6DEBB2005A4E24 /* copy root files */,
6E2FACC70E26E22400DF79EA /* copy frameworks */,
81B8FC150E7D927A00354E2E /* update version info */,
1D64E5FC157BD76F001ACEBE /* genoutputdirlink */,
);
buildRules = (
);
dependencies = (
6E2FACC40E26E08100DF79EA /* PBXTargetDependency */,
);
name = Kodi.app;
productName = Kodi.app;
productReference = D6299ABB1AFC2A9F00E3059D /* Kodi.app */;
productType = "com.apple.product-type.application";
};
8DD76F740486A8DE00D96B5E /* Kodi */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB924708733DCA0010E9CD /* Build configuration list for PBXNativeTarget "Kodi" */;
Expand Down Expand Up @@ -10338,6 +10350,7 @@
395C29BC1A94733100EBC7AD /* Key.cpp in Sources */,
E38E224E0D25F9FE00618676 /* pathfn.cpp in Sources */,
395C29F01A98A16300EBC7AD /* HTTPPythonWsgiInvoker.cpp in Sources */,
7CBB101F1B1E1C7D00E4FDE5 /* RendererVDA.cpp in Sources */,
E38E22500D25F9FE00618676 /* rarvm.cpp in Sources */,
E38E22520D25F9FE00618676 /* rawread.cpp in Sources */,
E38E22530D25F9FE00618676 /* rdwrfn.cpp in Sources */,
Expand Down Expand Up @@ -13617,7 +13630,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
6E2FACC10E26DFA300DF79EA /* Build configuration list for PBXAggregateTarget "Kodi.app" */ = {
6E2FACC10E26DFA300DF79EA /* Build configuration list for PBXNativeTarget "Kodi.app" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6E2FACBB0E26DF7A00DF79EA /* Debug */,
Expand Down
1 change: 1 addition & 0 deletions Makefile.in
Expand Up @@ -38,6 +38,7 @@ DIRECTORY_ARCHIVES=$(DVDPLAYER_ARCHIVES) \
xbmc/cores/ExternalPlayer/ExternalPlayer.a \
xbmc/cores/VideoRenderers/VideoRenderer.a \
xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a \
xbmc/cores/VideoRenderers/HwDecRender/HwDecRender.a \
xbmc/cores/cores.a \
xbmc/cores/paplayer/paplayer.a \
xbmc/cores/playercorefactory/playercorefactory.a \
Expand Down
1 change: 1 addition & 0 deletions configure.ac
Expand Up @@ -2455,6 +2455,7 @@ OUTPUT_FILES="Makefile \
xbmc/cdrip/Makefile \
xbmc/cores/Makefile \
xbmc/cores/VideoRenderers/Makefile \
xbmc/cores/VideoRenderers/HwDecRender/Makefile \
xbmc/cores/dvdplayer/Makefile \
lib/libdvd/Makefile \
xbmc/cores/DllLoader/Makefile \
Expand Down
2 changes: 1 addition & 1 deletion xbmc/Application.cpp
Expand Up @@ -3227,7 +3227,7 @@ PlayBackRet CApplication::PlayFile(const CFileItem& item, bool bRestart)
else if(m_pPlayer->IsPlayingVideo())
{
// if player didn't manange to switch to fullscreen by itself do it here
if (options.fullscreen && g_renderManager.IsStarted() &&
if (options.fullscreen && g_renderManager.IsConfigured() &&
g_windowManager.GetActiveWindow() != WINDOW_FULLSCREEN_VIDEO )
SwitchToFullScreen(true);
}
Expand Down
6 changes: 4 additions & 2 deletions xbmc/cores/VideoRenderers/BaseRenderer.h
Expand Up @@ -86,9 +86,9 @@ class CBaseRenderer
virtual int GetImage(YV12Image *image, int source = -1, bool readonly = false) = 0;
virtual void ReleaseImage(int source, bool preserve = false) = 0;
virtual bool AddVideoPicture(DVDVideoPicture* picture, int index) { return false; }
virtual void AddVideoPictureHW(DVDVideoPicture &picture, int index) = 0;
virtual void AddVideoPictureHW(DVDVideoPicture &picture, int index) {};
virtual void FlipPage(int source) = 0;
virtual unsigned int PreInit() = 0;
virtual void PreInit() = 0;
virtual void UnInit() = 0;
virtual void Reset() = 0;
virtual void Flush() {};
Expand All @@ -111,6 +111,8 @@ class CBaseRenderer
virtual bool Supports(EINTERLACEMETHOD method) = 0;
virtual bool Supports(ESCALINGMETHOD method) = 0;

ERenderFormat GetRenderFormat() { return m_format; }

void SetViewMode(int viewMode);
RESOLUTION GetResolution() const;

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
15 changes: 15 additions & 0 deletions xbmc/cores/VideoRenderers/HwDecRender/Makefile
@@ -0,0 +1,15 @@
SRCS=

ifeq (1,1)
SRCS += RendererVAAPI.cpp
SRCS += RendererVDPAU.cpp
endif

ifeq (,1)
SRCS += MMALRenderer.cpp
endif

LIB=HwDecRender.a

include ../../../../Makefile.include
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
15 changes: 15 additions & 0 deletions xbmc/cores/VideoRenderers/HwDecRender/Makefile.in
@@ -0,0 +1,15 @@
SRCS=

ifeq (@USE_OPENGL@,1)
SRCS += RendererVAAPI.cpp
SRCS += RendererVDPAU.cpp
endif

ifeq (@USE_MMAL@,1)
SRCS += MMALRenderer.cpp
endif

LIB=HwDecRender.a

include ../../../../Makefile.include
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))

0 comments on commit a4dfc6f

Please sign in to comment.