Skip to content

Commit

Permalink
add 3GPP/TX3G (aka MPEG-4 Timed Text) Subtitle support, millions of X…
Browse files Browse the repository at this point in the history
…BMC/Handbrake cry out in joy
  • Loading branch information
davilla committed Jul 18, 2011
1 parent 2f7f554 commit ce42254
Show file tree
Hide file tree
Showing 9 changed files with 314 additions and 2 deletions.
6 changes: 6 additions & 0 deletions XBMC-ATV2.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,7 @@
F5AE41131341751E0004BD79 /* XBMCOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5AE41061341751E0004BD79 /* XBMCOperations.cpp */; };
F5AE453B134D2E720004BD79 /* JSONServiceDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5AE4539134D2E720004BD79 /* JSONServiceDescription.cpp */; };
F5B13E0113344F310045076D /* DarwinUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5B13E0013344F310045076D /* DarwinUtils.mm */; };
F5CEE72C13D3F9AC00225F72 /* DVDOverlayCodecTX3G.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5CEE72B13D3F9AC00225F72 /* DVDOverlayCodecTX3G.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -2868,6 +2869,8 @@
F5AE453A134D2E720004BD79 /* JSONServiceDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONServiceDescription.h; sourceTree = "<group>"; };
F5B13DFF13344F2A0045076D /* DarwinUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DarwinUtils.h; sourceTree = "<group>"; };
F5B13E0013344F310045076D /* DarwinUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DarwinUtils.mm; sourceTree = "<group>"; };
F5CEE72B13D3F9AC00225F72 /* DVDOverlayCodecTX3G.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDOverlayCodecTX3G.cpp; sourceTree = "<group>"; };
F5CEE72D13D3F9B300225F72 /* DVDOverlayCodecTX3G.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVDOverlayCodecTX3G.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -3583,6 +3586,8 @@
F56C7276131EC151000AD0F6 /* DVDOverlayCodecFFmpeg.h */,
F56C7277131EC151000AD0F6 /* DVDOverlayCodecText.cpp */,
F56C7278131EC151000AD0F6 /* DVDOverlayCodecText.h */,
F5CEE72B13D3F9AC00225F72 /* DVDOverlayCodecTX3G.cpp */,
F5CEE72D13D3F9B300225F72 /* DVDOverlayCodecTX3G.h */,
F56C7279131EC151000AD0F6 /* DVDOverlayImage.h */,
F56C727A131EC151000AD0F6 /* DVDOverlaySpu.h */,
F56C727B131EC151000AD0F6 /* DVDOverlayText.h */,
Expand Down Expand Up @@ -6712,6 +6717,7 @@
1830216013B8E35300770920 /* controledit.cpp in Sources */,
DF27E25C13C23CCA002514FE /* InertialScrollingHandler.cpp in Sources */,
18ECC9AA13CF17EB00A9ED6C /* StreamUtils.cpp in Sources */,
F5CEE72C13D3F9AC00225F72 /* DVDOverlayCodecTX3G.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
6 changes: 6 additions & 0 deletions XBMC-IOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,7 @@
F5AE4166134175520004BD79 /* XBMCOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5AE4159134175520004BD79 /* XBMCOperations.cpp */; };
F5AE4530134D2E3E0004BD79 /* JSONServiceDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5AE452E134D2E3E0004BD79 /* JSONServiceDescription.cpp */; };
F5B13DCF1334490D0045076D /* DarwinUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5B13DCE1334490D0045076D /* DarwinUtils.mm */; };
F5CEE73013D3F9D100225F72 /* DVDOverlayCodecTX3G.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5CEE72F13D3F9D100225F72 /* DVDOverlayCodecTX3G.cpp */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -2868,6 +2869,8 @@
F5AE539813673FC70004BD79 /* IOSAudioRingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOSAudioRingBuffer.h; path = AudioRenderers/IOSAudioRingBuffer.h; sourceTree = "<group>"; };
F5B13DCD1334490D0045076D /* DarwinUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DarwinUtils.h; sourceTree = "<group>"; };
F5B13DCE1334490D0045076D /* DarwinUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DarwinUtils.mm; sourceTree = "<group>"; };
F5CEE72F13D3F9D100225F72 /* DVDOverlayCodecTX3G.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDOverlayCodecTX3G.cpp; sourceTree = "<group>"; };
F5CEE73113D3F9D800225F72 /* DVDOverlayCodecTX3G.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVDOverlayCodecTX3G.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -3945,6 +3948,8 @@
F56C825A131F42E6000AD0F6 /* DVDOverlayCodecFFmpeg.h */,
F56C825B131F42E6000AD0F6 /* DVDOverlayCodecText.cpp */,
F56C825C131F42E6000AD0F6 /* DVDOverlayCodecText.h */,
F5CEE72F13D3F9D100225F72 /* DVDOverlayCodecTX3G.cpp */,
F5CEE73113D3F9D800225F72 /* DVDOverlayCodecTX3G.h */,
F56C825D131F42E6000AD0F6 /* DVDOverlayImage.h */,
F56C825E131F42E7000AD0F6 /* DVDOverlaySpu.h */,
F56C825F131F42E7000AD0F6 /* DVDOverlayText.h */,
Expand Down Expand Up @@ -6727,6 +6732,7 @@
1830219E13B8E37300770920 /* controledit.cpp in Sources */,
DF27E23613C23CAC002514FE /* InertialScrollingHandler.cpp in Sources */,
18ECC99D13CF17D200A9ED6C /* StreamUtils.cpp in Sources */,
F5CEE73013D3F9D100225F72 /* DVDOverlayCodecTX3G.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
8 changes: 8 additions & 0 deletions XBMC.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1817,6 +1817,8 @@
F5BDB81B1202032400F0B710 /* DVDSubtitleTagMicroDVD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5BDB8191202032400F0B710 /* DVDSubtitleTagMicroDVD.cpp */; };
F5BDB820120203C200F0B710 /* AutoPtrHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5BDB81F120203C200F0B710 /* AutoPtrHandle.cpp */; };
F5BDB821120203C200F0B710 /* AutoPtrHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5BDB81F120203C200F0B710 /* AutoPtrHandle.cpp */; };
F5CEE60913D3C89700225F72 /* DVDOverlayCodecTX3G.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5CEE60713D3C89700225F72 /* DVDOverlayCodecTX3G.cpp */; };
F5CEE60A13D3C89700225F72 /* DVDOverlayCodecTX3G.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5CEE60713D3C89700225F72 /* DVDOverlayCodecTX3G.cpp */; };
F5D8D732102BB3B1004A11AB /* OverlayRendererGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D8D72F102BB3B1004A11AB /* OverlayRendererGL.cpp */; };
F5D8D733102BB3B1004A11AB /* OverlayRenderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D8D731102BB3B1004A11AB /* OverlayRenderer.cpp */; };
F5D8D734102BB3B1004A11AB /* OverlayRendererGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5D8D72F102BB3B1004A11AB /* OverlayRendererGL.cpp */; };
Expand Down Expand Up @@ -3777,6 +3779,8 @@
F5BDB8191202032400F0B710 /* DVDSubtitleTagMicroDVD.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDSubtitleTagMicroDVD.cpp; sourceTree = "<group>"; };
F5BDB81E120203C200F0B710 /* AutoPtrHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoPtrHandle.h; sourceTree = "<group>"; };
F5BDB81F120203C200F0B710 /* AutoPtrHandle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AutoPtrHandle.cpp; sourceTree = "<group>"; };
F5CEE60713D3C89700225F72 /* DVDOverlayCodecTX3G.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDOverlayCodecTX3G.cpp; sourceTree = "<group>"; };
F5CEE60813D3C89700225F72 /* DVDOverlayCodecTX3G.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVDOverlayCodecTX3G.h; sourceTree = "<group>"; };
F5D8D72E102BB3B1004A11AB /* OverlayRendererGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverlayRendererGL.h; sourceTree = "<group>"; };
F5D8D72F102BB3B1004A11AB /* OverlayRendererGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OverlayRendererGL.cpp; sourceTree = "<group>"; };
F5D8D730102BB3B1004A11AB /* OverlayRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverlayRenderer.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -5241,6 +5245,8 @@
E38E152E0D25F9F900618676 /* DVDOverlayCodecFFmpeg.h */,
E38E152F0D25F9F900618676 /* DVDOverlayCodecText.cpp */,
E38E15300D25F9F900618676 /* DVDOverlayCodecText.h */,
F5CEE60713D3C89700225F72 /* DVDOverlayCodecTX3G.cpp */,
F5CEE60813D3C89700225F72 /* DVDOverlayCodecTX3G.h */,
E38E15310D25F9F900618676 /* DVDOverlayImage.h */,
E38E15320D25F9F900618676 /* DVDOverlaySpu.h */,
E38E15330D25F9F900618676 /* DVDOverlayText.h */,
Expand Down Expand Up @@ -8050,6 +8056,7 @@
1830212813B8E2DC00770920 /* controledit.cpp in Sources */,
DF27E26E13C23D12002514FE /* InertialScrollingHandler.cpp in Sources */,
18ECC96213CF178D00A9ED6C /* StreamUtils.cpp in Sources */,
F5CEE60913D3C89700225F72 /* DVDOverlayCodecTX3G.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -8943,6 +8950,7 @@
1830212913B8E2DC00770920 /* controledit.cpp in Sources */,
43B0A5D013C64DF900B2382A /* InertialScrollingHandler.cpp in Sources */,
18ECC96313CF178D00A9ED6C /* StreamUtils.cpp in Sources */,
F5CEE60A13D3C89700225F72 /* DVDOverlayCodecTX3G.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
4 changes: 3 additions & 1 deletion project/VS2010Express/XBMC.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -875,6 +875,7 @@
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecFFmpeg.cpp" />
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecSSA.cpp" />
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecText.cpp" />
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecTX3G.cpp" />
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\libspucc\cc_decoder.c">
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (DirectX)|Win32'">CompileAsCpp</CompileAs>
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug (OpenGL)|Win32'">CompileAsCpp</CompileAs>
Expand Down Expand Up @@ -1732,6 +1733,7 @@
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecFFmpeg.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecSSA.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecText.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecTX3G.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayImage.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlaySpu.h" />
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlaySSA.h" />
Expand Down Expand Up @@ -2064,4 +2066,4 @@
</VisualStudio>
</ProjectExtensions>
<Import Project="$(SolutionDir)\$(ProjectFileName).targets.user" Condition="Exists('$(SolutionDir)\$(ProjectFileName).targets.user')" />
</Project>
</Project>
8 changes: 7 additions & 1 deletion project/VS2010Express/XBMC.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,9 @@
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecText.cpp">
<Filter>cores\dvdplayer\DVDCodecs\Overlay</Filter>
</ClCompile>
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecTX3G.cpp">
<Filter>cores\dvdplayer\DVDCodecs\Overlay</Filter>
</ClCompile>
<ClCompile Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\libspucc\cc_decoder.c">
<Filter>cores\dvdplayer\DVDCodecs\Overlay\libspucc</Filter>
</ClCompile>
Expand Down Expand Up @@ -2640,6 +2643,9 @@
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecText.h">
<Filter>cores\dvdplayer\DVDCodecs\Overlay</Filter>
</ClInclude>
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayCodecTX3G.h">
<Filter>cores\dvdplayer\DVDCodecs\Overlay</Filter>
</ClInclude>
<ClInclude Include="..\..\xbmc\cores\dvdplayer\DVDCodecs\Overlay\DVDOverlayImage.h">
<Filter>cores\dvdplayer\DVDCodecs\Overlay</Filter>
</ClInclude>
Expand Down Expand Up @@ -4967,4 +4973,4 @@
<Filter>win32</Filter>
</CustomBuild>
</ItemGroup>
</Project>
</Project>
6 changes: 6 additions & 0 deletions xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@
#include "Audio/DVDAudioCodecPassthroughFFmpeg.h"
#include "Overlay/DVDOverlayCodecSSA.h"
#include "Overlay/DVDOverlayCodecText.h"
#include "Overlay/DVDOverlayCodecTX3G.h"
#include "Overlay/DVDOverlayCodecFFmpeg.h"


#include "DVDStreamInfo.h"
#include "settings/GUISettings.h"
#include "utils/SystemInfo.h"
Expand Down Expand Up @@ -333,6 +335,10 @@ CDVDOverlayCodec* CDVDFactoryCodec::CreateOverlayCodec( CDVDStreamInfo &hint )
pCodec = OpenCodec(new CDVDOverlayCodecText(), hint, options);
if( pCodec ) return pCodec;

case CODEC_ID_MOV_TEXT:
pCodec = OpenCodec(new CDVDOverlayCodecTX3G(), hint, options);
if( pCodec ) return pCodec;

default:
pCodec = OpenCodec(new CDVDOverlayCodecFFmpeg(), hint, options);
if( pCodec ) return pCodec;
Expand Down
Loading

0 comments on commit ce42254

Please sign in to comment.