From f1de1597f92d82398946d97731dd57be51af715e Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 13 Jul 2015 14:51:14 -0700 Subject: [PATCH 01/47] Make DispatchQueueBlockRunnerTests more correct and reliable --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 68364f2d..95c4eda6 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 68364f2dceb2763d8fdbc0fffc699c390dabd374 +Subproject commit 95c4eda6cbfc473c3abea3904755a9c04d06cf9d From df99dc4852ec22a374c59d328c9a33bf42ce9f68 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 17 Jul 2015 10:24:50 -0700 Subject: [PATCH 02/47] RokuService: fix media not playing on Roku build 6.2 Fixes https://github.com/ConnectSDK/Connect-SDK-iOS/issues/166 --- ConnectSDK.xcodeproj/project.pbxproj | 6 ++++++ core | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index dbb1fc04..f7760f65 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -71,6 +71,7 @@ 44758BD01AE7070600EC43A6 /* airplay_playbackinfo_paused.json in Resources */ = {isa = PBXBuildFile; fileRef = 44758BCB1AE7070500EC43A6 /* airplay_playbackinfo_paused.json */; }; 44758BD11AE7070600EC43A6 /* airplay_playbackinfo_playing.json in Resources */ = {isa = PBXBuildFile; fileRef = 44758BCC1AE7070500EC43A6 /* airplay_playbackinfo_playing.json */; }; 44758BD21AE7070600EC43A6 /* airplay_playbackinfo_rewind.json in Resources */ = {isa = PBXBuildFile; fileRef = 44758BCD1AE7070600EC43A6 /* airplay_playbackinfo_rewind.json */; }; + 44789D851B585525001D5098 /* RokuServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44789D841B585525001D5098 /* RokuServiceTests.m */; }; 447F63411B14F35900699843 /* GoogleCast.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4485140C1A02FC3200D66710 /* GoogleCast.framework */; }; 4480857F1A12A7BE00E13938 /* ConnectSDKDefaultPlatformsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4480857E1A12A7BE00E13938 /* ConnectSDKDefaultPlatformsTests.m */; }; 448085801A12A7BE00E13938 /* libConnectSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA61EB1018FE485B00D75696 /* libConnectSDK.a */; }; @@ -429,6 +430,8 @@ 44758BCB1AE7070500EC43A6 /* airplay_playbackinfo_paused.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = airplay_playbackinfo_paused.json; sourceTree = ""; }; 44758BCC1AE7070500EC43A6 /* airplay_playbackinfo_playing.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = airplay_playbackinfo_playing.json; sourceTree = ""; }; 44758BCD1AE7070600EC43A6 /* airplay_playbackinfo_rewind.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = airplay_playbackinfo_rewind.json; sourceTree = ""; }; + 44789D841B585525001D5098 /* RokuServiceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RokuServiceTests.m; sourceTree = ""; }; + 44789D861B5858D2001D5098 /* RokuService_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RokuService_Private.h; sourceTree = ""; }; 447F63431B14FDC600699843 /* DLNAServiceAcceptanceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DLNAServiceAcceptanceTests.m; sourceTree = ""; }; 447F63451B15000800699843 /* ConnectSDKIntegrationTests-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ConnectSDKIntegrationTests-Prefix.pch"; sourceTree = ""; }; 4480857A1A12A7BE00E13938 /* ConnectSDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConnectSDKTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -890,6 +893,7 @@ 44A0E1A41B3B2F5C00ADF95F /* Sessions */, 4498D9911A65B69F008C0B72 /* DLNAServiceTests.m */, 44A5518E1AC1DF4C001AF783 /* NetcastTVServiceTests.m */, + 44789D841B585525001D5098 /* RokuServiceTests.m */, 44A551981AC338E0001AF783 /* WebOSTVServiceTests.m */, 4498D9A61A661500008C0B72 /* upnperror_response_sonos.xml */, 4498D9A41A66148F008C0B72 /* upnperror_response_xbox.xml */, @@ -1433,6 +1437,7 @@ 44A5518B1AC1D924001AF783 /* NetcastTVService_Private.h */, EA5FB84A199AEC550057B4B4 /* NetcastTVService.m */, EA5FB84B199AEC550057B4B4 /* RokuService.h */, + 44789D861B5858D2001D5098 /* RokuService_Private.h */, EA5FB84C199AEC550057B4B4 /* RokuService.m */, EA5FB84D199AEC550057B4B4 /* Sessions */, EA5FB857199AEC550057B4B4 /* WebOSTVService.h */, @@ -1962,6 +1967,7 @@ 44291C521A68B4C000280E5C /* SSDPDiscoveryProvider_FilteringTests.m in Sources */, 4480857F1A12A7BE00E13938 /* ConnectSDKDefaultPlatformsTests.m in Sources */, 44316F021AF2F09B000FE655 /* FireTVDiscoveryProviderTests.m in Sources */, + 44789D851B585525001D5098 /* RokuServiceTests.m in Sources */, 4498D9A91A66F027008C0B72 /* DLNAHTTPServerTests.m in Sources */, 448F36C51A1BD64200536649 /* ZeroConfDiscoveryProviderTests.m in Sources */, 441C9EFF1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m in Sources */, diff --git a/core b/core index 95c4eda6..2f87b7f1 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 95c4eda6cbfc473c3abea3904755a9c04d06cf9d +Subproject commit 2f87b7f15cc2c74b38743d55f690c860b55911af From 0f37046e2d8688732fab9343c3a3bfbafe31fdae Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 17 Jul 2015 11:37:11 -0700 Subject: [PATCH 03/47] RokuService_Private: add license to header --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 2f87b7f1..f6b6f3fd 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 2f87b7f15cc2c74b38743d55f690c860b55911af +Subproject commit f6b6f3fd8d8410e14244beb58142ceb668272efa From 04ef51b1744ee818e97a65866f236d6e159f05e2 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 17 Jul 2015 13:10:10 -0700 Subject: [PATCH 04/47] DLNAServiceTests: increase SUBSCRIBE response timeout to avoid test failures --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index f6b6f3fd..33bbb0ff 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f6b6f3fd8d8410e14244beb58142ceb668272efa +Subproject commit 33bbb0ff57116106d7ec30932fd0be2be58c8a57 From 3a58a66e3e0dde17295f8519f43d7f8a456fdfa4 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 20 Jul 2015 15:01:48 -0700 Subject: [PATCH 05/47] Create SubtitleTrack class --- ConnectSDK.xcodeproj/project.pbxproj | 12 ++++++++++++ core | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index f7760f65..512ed6c9 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -138,6 +138,9 @@ 44C2CCA21AB7A33500B20E46 /* NSString+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C2CCA01AB7A33500B20E46 /* NSString+Common.m */; }; 44C390121B34DCAE00723388 /* DiscoveryManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C390111B34DCAE00723388 /* DiscoveryManagerTests.m */; }; 44CF0E1A1B16ACD800B80FEF /* OCMArg+ArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 448B286A1B03DAEA00DFF18F /* OCMArg+ArgumentCaptor.m */; }; + 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */; }; + 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */; }; + 44D0ECF01B55DA9000E02A8B /* SubtitleTrack.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */; }; 44D88F891A71C4A8009D9608 /* ssdp_device_description_chromecast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7A1A71C4A8009D9608 /* ssdp_device_description_chromecast.xml */; }; 44D88F8A1A71C4A8009D9608 /* ssdp_device_description_firetv.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7B1A71C4A8009D9608 /* ssdp_device_description_firetv.xml */; }; 44D88F8B1A71C4A8009D9608 /* ssdp_device_description_roku2.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7C1A71C4A8009D9608 /* ssdp_device_description_roku2.xml */; }; @@ -500,6 +503,9 @@ 44C2CCA01AB7A33500B20E46 /* NSString+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Common.m"; sourceTree = ""; }; 44C3900E1B34A7B500723388 /* WebOSWebAppSession_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOSWebAppSession_Private.h; sourceTree = ""; }; 44C390111B34DCAE00723388 /* DiscoveryManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoveryManagerTests.m; sourceTree = ""; }; + 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleTrackTests.m; sourceTree = ""; }; + 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtitleTrack.h; sourceTree = ""; }; + 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleTrack.m; sourceTree = ""; }; 44D2ACD21B30B07700CE4A3A /* DiscoveryManager_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoveryManager_Private.h; sourceTree = ""; }; 44D88F7A1A71C4A8009D9608 /* ssdp_device_description_chromecast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ssdp_device_description_chromecast.xml; sourceTree = ""; }; 44D88F7B1A71C4A8009D9608 /* ssdp_device_description_firetv.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ssdp_device_description_firetv.xml; sourceTree = ""; }; @@ -1004,6 +1010,7 @@ 44D90AA81B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m */, 4498D98F1A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m */, 441C9EFE1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m */, + 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */, ); path = Helpers; sourceTree = ""; @@ -1412,6 +1419,8 @@ 44D90AAB1B06B26C00A5CF2A /* AppStateChangeNotifier.m */, 441C9ED31B3DBCB200F912D5 /* SubscriptionDeduplicator.h */, 441C9ED41B3DBCB200F912D5 /* SubscriptionDeduplicator.m */, + 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */, + 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */, ); path = Helpers; sourceTree = ""; @@ -1698,6 +1707,7 @@ 4494263E1AF83588006BAFF2 /* DispatchQueueBlockRunner.h in Headers */, EA5FB87C199AEC550057B4B4 /* DiscoveryProvider.h in Headers */, EA5FB8C7199AEC560057B4B4 /* JSONObjectCoding.h in Headers */, + 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */, EA5FB8F8199AEC570057B4B4 /* WebOSTVServiceMouse.h in Headers */, EA5FB8A5199AEC560057B4B4 /* GCDWebServerDataRequest.h in Headers */, EA5FB886199AEC560057B4B4 /* CTASIDataCompressor.h in Headers */, @@ -1978,6 +1988,7 @@ 448414F91AEB27F400124EE9 /* OCMStubRecorder+XCTestExpectation.m in Sources */, 44D90AA91B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m in Sources */, 44A5518F1AC1DF4C001AF783 /* NetcastTVServiceTests.m in Sources */, + 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */, 4498D9901A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m in Sources */, 44A0E1A71B3B31DC00ADF95F /* WebOSWebAppSessionTests.m in Sources */, ); @@ -2017,6 +2028,7 @@ EA5FB8F9199AEC570057B4B4 /* WebOSTVServiceMouse.m in Sources */, EA5FB88B199AEC560057B4B4 /* CTASIDownloadCache.m in Sources */, EA5FB878199AEC550057B4B4 /* CapabilityFilter.m in Sources */, + 44D0ECF01B55DA9000E02A8B /* SubtitleTrack.m in Sources */, EA5FB8F3199AEC570057B4B4 /* DLNAService.m in Sources */, EA5FB8B8199AEC560057B4B4 /* LGSRWebSocket.m in Sources */, 44AD91781AFA7F1000C23A71 /* FireTVService.m in Sources */, diff --git a/core b/core index 33bbb0ff..5e80b1f2 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 33bbb0ff57116106d7ec30932fd0be2be58c8a57 +Subproject commit 5e80b1f28fc9385b9ed840ea9ab9c4e0cf731df0 From 86809d8f728b80565656d1ec21276db0d4dc9237 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 20 Jul 2015 15:32:33 -0700 Subject: [PATCH 06/47] MediaInfo: add subtitleTrack nullable property --- ConnectSDK.xcodeproj/project.pbxproj | 4 ++++ core | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 512ed6c9..1d67e0f7 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -130,6 +130,7 @@ 44AD91771AFA7F1000C23A71 /* FireTVService.h in Headers */ = {isa = PBXBuildFile; fileRef = 44AD91751AFA7F1000C23A71 /* FireTVService.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44AD91781AFA7F1000C23A71 /* FireTVService.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AD91761AFA7F1000C23A71 /* FireTVService.m */; }; 44B11F521B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */; }; + 44B43AF11B5DA99F004083E5 /* MediaInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */; }; 44BCC3F61AB77F7D001BCDAA /* XMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44BCC3F71AB77F7D001BCDAA /* XMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */; }; 44C2CC941AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C2CC921AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -494,6 +495,7 @@ 44AD91761AFA7F1000C23A71 /* FireTVService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVService.m; sourceTree = ""; }; 44B11F501B16827C00F0156C /* OCMStubRecorder+SpectaAsync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMStubRecorder+SpectaAsync.h"; sourceTree = ""; }; 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OCMStubRecorder+SpectaAsync.m"; sourceTree = ""; }; + 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MediaInfoTests.m; sourceTree = ""; }; 44B4C5B71B0E96E80024F229 /* FireTVAcceptanceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVAcceptanceTests.m; sourceTree = ""; }; 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLWriter.h; sourceTree = ""; }; 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLWriter.m; sourceTree = ""; }; @@ -1008,6 +1010,7 @@ children = ( 449426311AF82F75006BAFF2 /* BlockRunner */, 44D90AA81B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m */, + 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */, 4498D98F1A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m */, 441C9EFE1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m */, 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */, @@ -1967,6 +1970,7 @@ 4433F3DF1A421750008D9A04 /* AirPlayServiceHTTPKeepAliveTests.m in Sources */, 44A551991AC338E0001AF783 /* WebOSTVServiceTests.m in Sources */, 448B28701B041A3B00DFF18F /* FireTVMediaPlayerTests.m in Sources */, + 44B43AF11B5DA99F004083E5 /* MediaInfoTests.m in Sources */, 449426331AF82F8E006BAFF2 /* BlockRunnerTests.m in Sources */, 4494263B1AF8353A006BAFF2 /* DispatchQueueBlockRunnerTests.m in Sources */, 44D8F7DA1AB27B4800559FE3 /* NSInvocation+ObjectGetter.m in Sources */, diff --git a/core b/core index 5e80b1f2..1885c827 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 5e80b1f28fc9385b9ed840ea9ab9c4e0cf731df0 +Subproject commit 1885c8274636fd3e2f2534cc2def64c2fcfe7748 From 9eedefe828b89ab10e79f0add8d5f4f6a69318e6 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 22 Jul 2015 10:20:27 -0700 Subject: [PATCH 07/47] DLNAService: add subtitles support --- ConnectSDK.xcodeproj/project.pbxproj | 4 ++++ core | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 1d67e0f7..3dda871d 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -173,6 +173,7 @@ 44EF61981A12E1C800CF344C /* MediaAccessibility.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF61971A12E1C800CF344C /* MediaAccessibility.framework */; }; 44EF619B1A12E23200CF344C /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF619A1A12E23200CF344C /* libicucore.dylib */; }; 44EF61A41A12FC8800CF344C /* SSDPDiscoveryProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44EF61A31A12FC8800CF344C /* SSDPDiscoveryProviderTests.m */; }; + B2FA8F2EAE3B0B60D75F9647 /* CapabilityConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B2FA8C3DF809E5088781B765 /* CapabilityConstants.m */; }; BB9F706B1155B806AFBF3336 /* DLNAHTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9F703F509283F37E26C0B4 /* DLNAHTTPServer.m */; }; BB9F712900733DE480F64D8E /* DLNAHTTPServer.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9F7271D17DCAE1C615A59A /* DLNAHTTPServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; BB9F726F85973936620CDADD /* MediaInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9F735CB760F4387DDA84B4 /* MediaInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -540,6 +541,7 @@ 44EF61971A12E1C800CF344C /* MediaAccessibility.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaAccessibility.framework; path = System/Library/Frameworks/MediaAccessibility.framework; sourceTree = SDKROOT; }; 44EF619A1A12E23200CF344C /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; 44EF61A31A12FC8800CF344C /* SSDPDiscoveryProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSDPDiscoveryProviderTests.m; sourceTree = ""; }; + B2FA8C3DF809E5088781B765 /* CapabilityConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CapabilityConstants.m; sourceTree = ""; }; BB9F703F509283F37E26C0B4 /* DLNAHTTPServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DLNAHTTPServer.m; sourceTree = ""; }; BB9F71B68553DCA74ED1C43E /* ImageInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageInfo.h; sourceTree = ""; }; BB9F7271D17DCAE1C615A59A /* DLNAHTTPServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DLNAHTTPServer.h; sourceTree = ""; }; @@ -1462,6 +1464,7 @@ isa = PBXGroup; children = ( EA5FB81A199AEC550057B4B4 /* Capability.h */, + B2FA8C3DF809E5088781B765 /* CapabilityConstants.m */, EA5FB81B199AEC550057B4B4 /* ExternalInputControl.h */, EA5FB81C199AEC550057B4B4 /* KeyControl.h */, EA5FB81D199AEC550057B4B4 /* Launcher.h */, @@ -2100,6 +2103,7 @@ BB9F7B7905ABBE72E0843AA0 /* MediaInfo.m in Sources */, BB9F776F4924E08D116738B1 /* ImageInfo.m in Sources */, BB9F706B1155B806AFBF3336 /* DLNAHTTPServer.m in Sources */, + B2FA8F2EAE3B0B60D75F9647 /* CapabilityConstants.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/core b/core index 1885c827..ff6a60bf 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 1885c8274636fd3e2f2534cc2def64c2fcfe7748 +Subproject commit ff6a60bf1a0d9bcfe0fc879d1df44ba8f1d5ed06 From ee8df181eebd6f5d15cbcd093e84c6e876de42bd Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 22 Jul 2015 13:56:10 -0700 Subject: [PATCH 08/47] Make SubtitleTrack.h public --- ConnectSDK.xcodeproj/project.pbxproj | 2 +- core | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 3dda871d..44729180 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -140,7 +140,7 @@ 44C390121B34DCAE00723388 /* DiscoveryManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C390111B34DCAE00723388 /* DiscoveryManagerTests.m */; }; 44CF0E1A1B16ACD800B80FEF /* OCMArg+ArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 448B286A1B03DAEA00DFF18F /* OCMArg+ArgumentCaptor.m */; }; 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */; }; - 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */; }; + 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44D0ECF01B55DA9000E02A8B /* SubtitleTrack.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */; }; 44D88F891A71C4A8009D9608 /* ssdp_device_description_chromecast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7A1A71C4A8009D9608 /* ssdp_device_description_chromecast.xml */; }; 44D88F8A1A71C4A8009D9608 /* ssdp_device_description_firetv.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7B1A71C4A8009D9608 /* ssdp_device_description_firetv.xml */; }; diff --git a/core b/core index ff6a60bf..e81195be 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit ff6a60bf1a0d9bcfe0fc879d1df44ba8f1d5ed06 +Subproject commit e81195bea17edae1dcd933ea8a1a8c83acd0a392 From 9904c27374812481ac034d6c0bf105fad1c6fa58 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 23 Jul 2015 10:26:46 -0700 Subject: [PATCH 09/47] Extract NSMutableDictionary+NilSafe category --- ConnectSDK.xcodeproj/project.pbxproj | 12 ++++++++++++ core | 2 +- modules/firetv | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 44729180..e9301364 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -131,6 +131,7 @@ 44AD91781AFA7F1000C23A71 /* FireTVService.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AD91761AFA7F1000C23A71 /* FireTVService.m */; }; 44B11F521B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */; }; 44B43AF11B5DA99F004083E5 /* MediaInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */; }; + 44B43AFC1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */; }; 44BCC3F61AB77F7D001BCDAA /* XMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44BCC3F71AB77F7D001BCDAA /* XMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */; }; 44C2CC941AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C2CC921AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -173,6 +174,8 @@ 44EF61981A12E1C800CF344C /* MediaAccessibility.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF61971A12E1C800CF344C /* MediaAccessibility.framework */; }; 44EF619B1A12E23200CF344C /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF619A1A12E23200CF344C /* libicucore.dylib */; }; 44EF61A41A12FC8800CF344C /* SSDPDiscoveryProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44EF61A31A12FC8800CF344C /* SSDPDiscoveryProviderTests.m */; }; + B2FA88C0C2447C5CAF1E61A4 /* NSMutableDictionary+NilSafe.h in Headers */ = {isa = PBXBuildFile; fileRef = B2FA8E8AF8F4302A1B5541EA /* NSMutableDictionary+NilSafe.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2FA8A641C2CBEAFB9CF9097 /* NSMutableDictionary+NilSafe.m in Sources */ = {isa = PBXBuildFile; fileRef = B2FA850A1C2BA371738A19B6 /* NSMutableDictionary+NilSafe.m */; }; B2FA8F2EAE3B0B60D75F9647 /* CapabilityConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B2FA8C3DF809E5088781B765 /* CapabilityConstants.m */; }; BB9F706B1155B806AFBF3336 /* DLNAHTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9F703F509283F37E26C0B4 /* DLNAHTTPServer.m */; }; BB9F712900733DE480F64D8E /* DLNAHTTPServer.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9F7271D17DCAE1C615A59A /* DLNAHTTPServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -497,6 +500,7 @@ 44B11F501B16827C00F0156C /* OCMStubRecorder+SpectaAsync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMStubRecorder+SpectaAsync.h"; sourceTree = ""; }; 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OCMStubRecorder+SpectaAsync.m"; sourceTree = ""; }; 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MediaInfoTests.m; sourceTree = ""; }; + 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableDictionary+NilSafeTests.m"; sourceTree = ""; }; 44B4C5B71B0E96E80024F229 /* FireTVAcceptanceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVAcceptanceTests.m; sourceTree = ""; }; 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLWriter.h; sourceTree = ""; }; 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLWriter.m; sourceTree = ""; }; @@ -541,7 +545,9 @@ 44EF61971A12E1C800CF344C /* MediaAccessibility.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaAccessibility.framework; path = System/Library/Frameworks/MediaAccessibility.framework; sourceTree = SDKROOT; }; 44EF619A1A12E23200CF344C /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; 44EF61A31A12FC8800CF344C /* SSDPDiscoveryProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSDPDiscoveryProviderTests.m; sourceTree = ""; }; + B2FA850A1C2BA371738A19B6 /* NSMutableDictionary+NilSafe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableDictionary+NilSafe.m"; sourceTree = ""; }; B2FA8C3DF809E5088781B765 /* CapabilityConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CapabilityConstants.m; sourceTree = ""; }; + B2FA8E8AF8F4302A1B5541EA /* NSMutableDictionary+NilSafe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableDictionary+NilSafe.h"; sourceTree = ""; }; BB9F703F509283F37E26C0B4 /* DLNAHTTPServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DLNAHTTPServer.m; sourceTree = ""; }; BB9F71B68553DCA74ED1C43E /* ImageInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageInfo.h; sourceTree = ""; }; BB9F7271D17DCAE1C615A59A /* DLNAHTTPServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DLNAHTTPServer.h; sourceTree = ""; }; @@ -1014,6 +1020,7 @@ 44D90AA81B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m */, 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */, 4498D98F1A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m */, + 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */, 441C9EFE1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m */, 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */, ); @@ -1417,6 +1424,8 @@ 0F446CC81A6D924D000BB1C0 /* MediaLaunchObject.m */, 4498D98A1A659F43008C0B72 /* NSDictionary+KeyPredicateSearch.h */, 4498D98B1A659F43008C0B72 /* NSDictionary+KeyPredicateSearch.m */, + B2FA8E8AF8F4302A1B5541EA /* NSMutableDictionary+NilSafe.h */, + B2FA850A1C2BA371738A19B6 /* NSMutableDictionary+NilSafe.m */, 44C2CC9F1AB7A33500B20E46 /* NSString+Common.h */, 44C2CCA01AB7A33500B20E46 /* NSString+Common.m */, 44A5519D1AC36672001AF783 /* CommonMacros.h */, @@ -1743,6 +1752,7 @@ 448B28761B041A5600DFF18F /* FireTVMediaControl.h in Headers */, BB9F7AD33329FD4AC66C2D12 /* ImageInfo.h in Headers */, BB9F712900733DE480F64D8E /* DLNAHTTPServer.h in Headers */, + B2FA88C0C2447C5CAF1E61A4 /* NSMutableDictionary+NilSafe.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1993,6 +2003,7 @@ 44AD91741AF9A02300C23A71 /* FireTVServiceTests.m in Sources */, 440A031D1A854EDE0007E3D3 /* WebOSTVServiceSocketClientTests.m in Sources */, 448414F91AEB27F400124EE9 /* OCMStubRecorder+XCTestExpectation.m in Sources */, + 44B43AFC1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m in Sources */, 44D90AA91B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m in Sources */, 44A5518F1AC1DF4C001AF783 /* NetcastTVServiceTests.m in Sources */, 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */, @@ -2104,6 +2115,7 @@ BB9F776F4924E08D116738B1 /* ImageInfo.m in Sources */, BB9F706B1155B806AFBF3336 /* DLNAHTTPServer.m in Sources */, B2FA8F2EAE3B0B60D75F9647 /* CapabilityConstants.m in Sources */, + B2FA8A641C2CBEAFB9CF9097 /* NSMutableDictionary+NilSafe.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/core b/core index e81195be..49116e6e 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit e81195bea17edae1dcd933ea8a1a8c83acd0a392 +Subproject commit 49116e6eedada7d6c0e82f944ef3e2f11870733b diff --git a/modules/firetv b/modules/firetv index 51c3d136..aacbc19f 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit 51c3d1367cc9a77af794107bbf280c2e42701a54 +Subproject commit aacbc19f262dc6d94a915902600cd0070f6f231b From c0993305672d394a0d78add007c6c5b818667cc4 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 24 Jul 2015 12:14:43 -0700 Subject: [PATCH 10/47] Create the first test for CastService --- ConnectSDK.xcodeproj/project.pbxproj | 14 ++++++++++++++ modules/google-cast | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index e9301364..926c89c8 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -132,6 +132,7 @@ 44B11F521B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */; }; 44B43AF11B5DA99F004083E5 /* MediaInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */; }; 44B43AFC1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */; }; + 44B43AFF1B61A497004083E5 /* CastServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B43AFE1B61A497004083E5 /* CastServiceTests.m */; }; 44BCC3F61AB77F7D001BCDAA /* XMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44BCC3F71AB77F7D001BCDAA /* XMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */; }; 44C2CC941AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = 44C2CC921AB7948300B20E46 /* XMLWriter+ConvenienceMethods.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -501,6 +502,8 @@ 44B11F511B16827C00F0156C /* OCMStubRecorder+SpectaAsync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OCMStubRecorder+SpectaAsync.m"; sourceTree = ""; }; 44B43AF01B5DA99F004083E5 /* MediaInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MediaInfoTests.m; sourceTree = ""; }; 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableDictionary+NilSafeTests.m"; sourceTree = ""; }; + 44B43AFE1B61A497004083E5 /* CastServiceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CastServiceTests.m; sourceTree = ""; }; + 44B43B001B62B6AC004083E5 /* CastService_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CastService_Private.h; sourceTree = ""; }; 44B4C5B71B0E96E80024F229 /* FireTVAcceptanceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVAcceptanceTests.m; sourceTree = ""; }; 44BCC3F41AB77F7D001BCDAA /* XMLWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLWriter.h; sourceTree = ""; }; 44BCC3F51AB77F7D001BCDAA /* XMLWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLWriter.m; sourceTree = ""; }; @@ -1082,6 +1085,14 @@ path = Sessions; sourceTree = ""; }; + 44B43AFD1B61A46A004083E5 /* GoogleCastTests */ = { + isa = PBXGroup; + children = ( + 44B43AFE1B61A497004083E5 /* CastServiceTests.m */, + ); + path = GoogleCastTests; + sourceTree = ""; + }; 44BCC3F31AB77F7D001BCDAA /* xswi */ = { isa = PBXGroup; children = ( @@ -1574,10 +1585,12 @@ EA5FB85A199AEC550057B4B4 /* google-cast */ = { isa = PBXGroup; children = ( + 44B43AFD1B61A46A004083E5 /* GoogleCastTests */, 4485140C1A02FC3200D66710 /* GoogleCast.framework */, EA5FB85C199AEC550057B4B4 /* CastDiscoveryProvider.h */, EA5FB85D199AEC550057B4B4 /* CastDiscoveryProvider.m */, EA5FB85E199AEC550057B4B4 /* CastService.h */, + 44B43B001B62B6AC004083E5 /* CastService_Private.h */, EA5FB85F199AEC550057B4B4 /* CastService.m */, EA5FB860199AEC550057B4B4 /* CastServiceChannel.h */, EA5FB861199AEC550057B4B4 /* CastServiceChannel.m */, @@ -1982,6 +1995,7 @@ 449426351AF83055006BAFF2 /* SynchronousBlockRunnerTests.m in Sources */, 4433F3DF1A421750008D9A04 /* AirPlayServiceHTTPKeepAliveTests.m in Sources */, 44A551991AC338E0001AF783 /* WebOSTVServiceTests.m in Sources */, + 44B43AFF1B61A497004083E5 /* CastServiceTests.m in Sources */, 448B28701B041A3B00DFF18F /* FireTVMediaPlayerTests.m in Sources */, 44B43AF11B5DA99F004083E5 /* MediaInfoTests.m in Sources */, 449426331AF82F8E006BAFF2 /* BlockRunnerTests.m in Sources */, diff --git a/modules/google-cast b/modules/google-cast index 17200b3f..a311ec08 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit 17200b3f6df859aef8094051addff6e10722a09c +Subproject commit a311ec08a6ec265ab59dc3dc74dcd86d9ce6936c From c78255d9870108fbfd0618e7f5738b5922691195 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 24 Jul 2015 13:42:14 -0700 Subject: [PATCH 11/47] Google Cast: add subtitles support --- core | 2 +- modules/firetv | 2 +- modules/google-cast | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core b/core index 49116e6e..944e1f9d 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 49116e6eedada7d6c0e82f944ef3e2f11870733b +Subproject commit 944e1f9dc3b2829c96f2a95005155a25110170d7 diff --git a/modules/firetv b/modules/firetv index aacbc19f..06519e22 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit aacbc19f262dc6d94a915902600cd0070f6f231b +Subproject commit 06519e22f3c6122d2e2c1482a44ba036379cfd4d diff --git a/modules/google-cast b/modules/google-cast index a311ec08..a5138101 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit a311ec08a6ec265ab59dc3dc74dcd86d9ce6936c +Subproject commit a5138101d722c0d2849e3b355f7850086ae6b978 From 01a2df9e501df7d9cec1ba7bd9e7affe168afdcf Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 27 Jul 2015 10:12:28 -0700 Subject: [PATCH 12/47] Rename SubtitleTrack => SubtitleInfo --- ConnectSDK.xcodeproj/project.pbxproj | 24 ++++++++++++------------ core | 2 +- modules/firetv | 2 +- modules/google-cast | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 926c89c8..be40428b 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -141,9 +141,9 @@ 44C2CCA21AB7A33500B20E46 /* NSString+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C2CCA01AB7A33500B20E46 /* NSString+Common.m */; }; 44C390121B34DCAE00723388 /* DiscoveryManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44C390111B34DCAE00723388 /* DiscoveryManagerTests.m */; }; 44CF0E1A1B16ACD800B80FEF /* OCMArg+ArgumentCaptor.m in Sources */ = {isa = PBXBuildFile; fileRef = 448B286A1B03DAEA00DFF18F /* OCMArg+ArgumentCaptor.m */; }; - 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */; }; - 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 44D0ECF01B55DA9000E02A8B /* SubtitleTrack.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */; }; + 44D0ECEC1B55D8FC00E02A8B /* SubtitleInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEB1B55D8FC00E02A8B /* SubtitleInfoTests.m */; }; + 44D0ECEF1B55DA9000E02A8B /* SubtitleInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D0ECED1B55DA9000E02A8B /* SubtitleInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 44D0ECF01B55DA9000E02A8B /* SubtitleInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D0ECEE1B55DA9000E02A8B /* SubtitleInfo.m */; }; 44D88F891A71C4A8009D9608 /* ssdp_device_description_chromecast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7A1A71C4A8009D9608 /* ssdp_device_description_chromecast.xml */; }; 44D88F8A1A71C4A8009D9608 /* ssdp_device_description_firetv.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7B1A71C4A8009D9608 /* ssdp_device_description_firetv.xml */; }; 44D88F8B1A71C4A8009D9608 /* ssdp_device_description_roku2.xml in Resources */ = {isa = PBXBuildFile; fileRef = 44D88F7C1A71C4A8009D9608 /* ssdp_device_description_roku2.xml */; }; @@ -513,9 +513,9 @@ 44C2CCA01AB7A33500B20E46 /* NSString+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Common.m"; sourceTree = ""; }; 44C3900E1B34A7B500723388 /* WebOSWebAppSession_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOSWebAppSession_Private.h; sourceTree = ""; }; 44C390111B34DCAE00723388 /* DiscoveryManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscoveryManagerTests.m; sourceTree = ""; }; - 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleTrackTests.m; sourceTree = ""; }; - 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtitleTrack.h; sourceTree = ""; }; - 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleTrack.m; sourceTree = ""; }; + 44D0ECEB1B55D8FC00E02A8B /* SubtitleInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleInfoTests.m; sourceTree = ""; }; + 44D0ECED1B55DA9000E02A8B /* SubtitleInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtitleInfo.h; sourceTree = ""; }; + 44D0ECEE1B55DA9000E02A8B /* SubtitleInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubtitleInfo.m; sourceTree = ""; }; 44D2ACD21B30B07700CE4A3A /* DiscoveryManager_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscoveryManager_Private.h; sourceTree = ""; }; 44D88F7A1A71C4A8009D9608 /* ssdp_device_description_chromecast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ssdp_device_description_chromecast.xml; sourceTree = ""; }; 44D88F7B1A71C4A8009D9608 /* ssdp_device_description_firetv.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = ssdp_device_description_firetv.xml; sourceTree = ""; }; @@ -1025,7 +1025,7 @@ 4498D98F1A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m */, 44B43AFB1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m */, 441C9EFE1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m */, - 44D0ECEB1B55D8FC00E02A8B /* SubtitleTrackTests.m */, + 44D0ECEB1B55D8FC00E02A8B /* SubtitleInfoTests.m */, ); path = Helpers; sourceTree = ""; @@ -1444,8 +1444,8 @@ 44D90AAB1B06B26C00A5CF2A /* AppStateChangeNotifier.m */, 441C9ED31B3DBCB200F912D5 /* SubscriptionDeduplicator.h */, 441C9ED41B3DBCB200F912D5 /* SubscriptionDeduplicator.m */, - 44D0ECED1B55DA9000E02A8B /* SubtitleTrack.h */, - 44D0ECEE1B55DA9000E02A8B /* SubtitleTrack.m */, + 44D0ECED1B55DA9000E02A8B /* SubtitleInfo.h */, + 44D0ECEE1B55DA9000E02A8B /* SubtitleInfo.m */, ); path = Helpers; sourceTree = ""; @@ -1735,7 +1735,7 @@ 4494263E1AF83588006BAFF2 /* DispatchQueueBlockRunner.h in Headers */, EA5FB87C199AEC550057B4B4 /* DiscoveryProvider.h in Headers */, EA5FB8C7199AEC560057B4B4 /* JSONObjectCoding.h in Headers */, - 44D0ECEF1B55DA9000E02A8B /* SubtitleTrack.h in Headers */, + 44D0ECEF1B55DA9000E02A8B /* SubtitleInfo.h in Headers */, EA5FB8F8199AEC570057B4B4 /* WebOSTVServiceMouse.h in Headers */, EA5FB8A5199AEC560057B4B4 /* GCDWebServerDataRequest.h in Headers */, EA5FB886199AEC560057B4B4 /* CTASIDataCompressor.h in Headers */, @@ -2020,7 +2020,7 @@ 44B43AFC1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m in Sources */, 44D90AA91B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m in Sources */, 44A5518F1AC1DF4C001AF783 /* NetcastTVServiceTests.m in Sources */, - 44D0ECEC1B55D8FC00E02A8B /* SubtitleTrackTests.m in Sources */, + 44D0ECEC1B55D8FC00E02A8B /* SubtitleInfoTests.m in Sources */, 4498D9901A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m in Sources */, 44A0E1A71B3B31DC00ADF95F /* WebOSWebAppSessionTests.m in Sources */, ); @@ -2060,7 +2060,7 @@ EA5FB8F9199AEC570057B4B4 /* WebOSTVServiceMouse.m in Sources */, EA5FB88B199AEC560057B4B4 /* CTASIDownloadCache.m in Sources */, EA5FB878199AEC550057B4B4 /* CapabilityFilter.m in Sources */, - 44D0ECF01B55DA9000E02A8B /* SubtitleTrack.m in Sources */, + 44D0ECF01B55DA9000E02A8B /* SubtitleInfo.m in Sources */, EA5FB8F3199AEC570057B4B4 /* DLNAService.m in Sources */, EA5FB8B8199AEC560057B4B4 /* LGSRWebSocket.m in Sources */, 44AD91781AFA7F1000C23A71 /* FireTVService.m in Sources */, diff --git a/core b/core index 944e1f9d..1666be34 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 944e1f9dc3b2829c96f2a95005155a25110170d7 +Subproject commit 1666be3421289f4b39b4092840bc376083925f9d diff --git a/modules/firetv b/modules/firetv index 06519e22..7366fd02 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit 06519e22f3c6122d2e2c1482a44ba036379cfd4d +Subproject commit 7366fd0229f8f3e043083822adc192cb6c5c3073 diff --git a/modules/google-cast b/modules/google-cast index a5138101..6d5e4358 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit a5138101d722c0d2849e3b355f7850086ae6b978 +Subproject commit 6d5e4358c99ba29e5cc9991f9a50a3e08b21f2e6 From 9e3e069da0511647a0047671b2099f460fb51e39 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 27 Jul 2015 12:12:58 -0700 Subject: [PATCH 13/47] DLNAService: use the default "text/srt" subtitles type if none is specified --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 1666be34..1267277b 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 1666be3421289f4b39b4092840bc376083925f9d +Subproject commit 1267277ba26826ac0e9a0bb6c8047e748919a177 From fc6e6995e09a18c55efb4e5b33609a2f09c676bd Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 28 Jul 2015 09:50:25 -0700 Subject: [PATCH 14/47] NetcastTVService: support VTT subtitles capability Because Netcast uses DLNA for media playback. --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 1267277b..ad58482e 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 1267277ba26826ac0e9a0bb6c8047e748919a177 +Subproject commit ad58482e8bde216dde4bc2f8c42871e7fe99248a From 010b67830e39d085137ccc07883dd1e330b35d44 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 28 Jul 2015 10:20:08 -0700 Subject: [PATCH 15/47] README: add notes about subtitles support --- README.md | 8 ++++++++ core | 2 +- modules/google-cast | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dbe654d5..d10d99cc 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,14 @@ The required third-party test frameworks are already pre-built and included in t All of the test targets are compiled when the main `ConnectSDK` scheme is built, but only the unit tests are setup to run when testing the scheme. The other tests can be run by selecting the corresponding scheme. +##Limitations/Caveats + +###Subtitles + +- DLNA service (`SRT` format only): since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. +- Google Cast service (`VTT` format only): the server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). +- FireTV service (`VTT` format only): subtitles on Fire TV are off by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to display them remotely. + ##Contact - Twitter: [@ConnectSDK](https://twitter.com/ConnectSDK) - Ask a question on Stack Overflow with the [Connect-SDK tag](https://stackoverflow.com/tags/connect-sdk) (or [TV tag](https://stackoverflow.com/tags/tv)) diff --git a/core b/core index ad58482e..ba51ad98 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit ad58482e8bde216dde4bc2f8c42871e7fe99248a +Subproject commit ba51ad980df46a5eda20334ffceadd3bc01efcc9 diff --git a/modules/google-cast b/modules/google-cast index 6d5e4358..6d2efe5a 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit 6d5e4358c99ba29e5cc9991f9a50a3e08b21f2e6 +Subproject commit 6d2efe5a79ca7e99f543eab36c68904099d123e1 From 4f858b989b33fcb4ce0a4ffecdc95bf421157bb3 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 28 Jul 2015 10:29:43 -0700 Subject: [PATCH 16/47] README: amend subtitle notes a little --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d10d99cc..fcff9f6d 100644 --- a/README.md +++ b/README.md @@ -76,9 +76,10 @@ All of the test targets are compiled when the main `ConnectSDK` scheme is built, ###Subtitles -- DLNA service (`SRT` format only): since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. -- Google Cast service (`VTT` format only): the server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). -- FireTV service (`VTT` format only): subtitles on Fire TV are off by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to display them remotely. +- DLNA service supports `SRT` format only. Since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. +- Netcast service supports `SRT` format only, through DLNA. +- Google Cast service supports `VTT` format only. The server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). +- FireTV service supports `VTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. ##Contact - Twitter: [@ConnectSDK](https://twitter.com/ConnectSDK) From d54dc32705a61a32804a1d2c865a5741e41f1545 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 28 Jul 2015 10:43:14 -0700 Subject: [PATCH 17/47] Rename VTT => WebVTT subtitle capability --- README.md | 4 ++-- core | 2 +- modules/firetv | 2 +- modules/google-cast | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index fcff9f6d..3f80f779 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ All of the test targets are compiled when the main `ConnectSDK` scheme is built, - DLNA service supports `SRT` format only. Since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. - Netcast service supports `SRT` format only, through DLNA. -- Google Cast service supports `VTT` format only. The server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). -- FireTV service supports `VTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. +- Google Cast service supports `WebVTT` format only. The server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). +- FireTV service supports `WebVTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. ##Contact - Twitter: [@ConnectSDK](https://twitter.com/ConnectSDK) diff --git a/core b/core index ba51ad98..b324850f 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit ba51ad980df46a5eda20334ffceadd3bc01efcc9 +Subproject commit b324850f4582166778872bc6b3cb34b11547274f diff --git a/modules/firetv b/modules/firetv index 7366fd02..9a5a0b80 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit 7366fd0229f8f3e043083822adc192cb6c5c3073 +Subproject commit 9a5a0b80e2944578aacc58805c57f0dfa8a1e8c8 diff --git a/modules/google-cast b/modules/google-cast index 6d2efe5a..b75f6fd5 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit 6d2efe5a79ca7e99f543eab36c68904099d123e1 +Subproject commit b75f6fd588f4a0a483d848928375e0d4515b2647 From 35740b2b8e9c37e71eb12f3acd6db07c4c008c75 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 28 Jul 2015 13:28:18 -0700 Subject: [PATCH 18/47] DLNAService: fix a potential null dereference static analyzer warning --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index b25af0dc..c00ab4fc 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit b25af0dc290410a497445f5686ad51c2595b5a3b +Subproject commit c00ab4fc405c0265a44a32b42d8e7d9aa18d2fdf From d14f4dc93af0a8ffbd654a9de7b66ae231698814 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 31 Jul 2015 11:31:40 -0700 Subject: [PATCH 19/47] Implement missing MediaControl methods --- ConnectSDK.xcodeproj/project.pbxproj | 20 ++++++++++++++++++++ core | 2 +- modules/firetv | 2 +- modules/google-cast | 2 +- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index be40428b..9897906d 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -120,6 +120,10 @@ 449A371B1B0FE39700E47DAC /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44316F071AF2F9BF000FE655 /* AdSupport.framework */; }; 449A371C1B0FE3A500E47DAC /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA61EBF118FE48EF00D75696 /* MobileCoreServices.framework */; }; 449CC26B1AF9458E0064F2F7 /* ServiceDescriptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 449CC26A1AF9458E0064F2F7 /* ServiceDescriptionTests.m */; }; + 44A08FFA1B698E170077E87D /* WebAppSessionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A08FF91B698E170077E87D /* WebAppSessionTests.m */; }; + 44A08FFC1B698FCB0077E87D /* AirPlayServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A08FFB1B698FCB0077E87D /* AirPlayServiceTests.m */; }; + 44A090001B6B05850077E87D /* CastWebAppSessionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A08FFF1B6B05850077E87D /* CastWebAppSessionTests.m */; }; + 44A090041B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A090021B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m */; }; 44A0E1A71B3B31DC00ADF95F /* WebOSWebAppSessionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A0E1A51B3B2F5C00ADF95F /* WebOSWebAppSessionTests.m */; }; 44A499051B0AD0C1002C94E7 /* FireTVCapabilityMixin.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A499031B0AD0C1002C94E7 /* FireTVCapabilityMixin.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44A499061B0AD0C1002C94E7 /* FireTVCapabilityMixin.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A499041B0AD0C1002C94E7 /* FireTVCapabilityMixin.m */; }; @@ -488,6 +492,12 @@ 449A37101B0FE03400E47DAC /* Expecta.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Expecta.framework; sourceTree = ""; }; 449A37111B0FE03400E47DAC /* Specta.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Specta.framework; sourceTree = ""; }; 449CC26A1AF9458E0064F2F7 /* ServiceDescriptionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServiceDescriptionTests.m; sourceTree = ""; }; + 44A08FF91B698E170077E87D /* WebAppSessionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebAppSessionTests.m; sourceTree = ""; }; + 44A08FFB1B698FCB0077E87D /* AirPlayServiceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AirPlayServiceTests.m; sourceTree = ""; }; + 44A08FFD1B6991CC0077E87D /* AirPlayService_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AirPlayService_Private.h; sourceTree = ""; }; + 44A08FFF1B6B05850077E87D /* CastWebAppSessionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CastWebAppSessionTests.m; sourceTree = ""; }; + 44A090011B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+FeatureNotSupported_Private.h"; sourceTree = ""; }; + 44A090021B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+FeatureNotSupported_Private.m"; sourceTree = ""; }; 44A0E1A51B3B2F5C00ADF95F /* WebOSWebAppSessionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebOSWebAppSessionTests.m; sourceTree = ""; }; 44A499031B0AD0C1002C94E7 /* FireTVCapabilityMixin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FireTVCapabilityMixin.h; sourceTree = ""; }; 44A499041B0AD0C1002C94E7 /* FireTVCapabilityMixin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVCapabilityMixin.m; sourceTree = ""; }; @@ -910,6 +920,7 @@ 449CC2691AF945800064F2F7 /* Config */, 4433F3DD1A421733008D9A04 /* Helpers */, 44A0E1A41B3B2F5C00ADF95F /* Sessions */, + 44A08FFB1B698FCB0077E87D /* AirPlayServiceTests.m */, 4498D9911A65B69F008C0B72 /* DLNAServiceTests.m */, 44A5518E1AC1DF4C001AF783 /* NetcastTVServiceTests.m */, 44789D841B585525001D5098 /* RokuServiceTests.m */, @@ -1081,6 +1092,7 @@ isa = PBXGroup; children = ( 44A0E1A51B3B2F5C00ADF95F /* WebOSWebAppSessionTests.m */, + 44A08FF91B698E170077E87D /* WebAppSessionTests.m */, ); path = Sessions; sourceTree = ""; @@ -1089,6 +1101,7 @@ isa = PBXGroup; children = ( 44B43AFE1B61A497004083E5 /* CastServiceTests.m */, + 44A08FFF1B6B05850077E87D /* CastWebAppSessionTests.m */, ); path = GoogleCastTests; sourceTree = ""; @@ -1454,6 +1467,7 @@ isa = PBXGroup; children = ( EA5FB817199AEC550057B4B4 /* AirPlayService.h */, + 44A08FFD1B6991CC0077E87D /* AirPlayService_Private.h */, EA5FB818199AEC550057B4B4 /* AirPlayService.m */, EA5FB819199AEC550057B4B4 /* Capabilities */, EA5FB827199AEC550057B4B4 /* Commands */, @@ -1542,6 +1556,8 @@ 443063C01A4210F0007779DA /* AirPlayServiceHTTPKeepAlive.m */, EA5FB843199AEC550057B4B4 /* AirPlayServiceMirrored.h */, EA5FB844199AEC550057B4B4 /* AirPlayServiceMirrored.m */, + 44A090011B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.h */, + 44A090021B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m */, EA5FB845199AEC550057B4B4 /* WebOSTVServiceMouse.h */, EA5FB846199AEC550057B4B4 /* WebOSTVServiceMouse.m */, EA5FB847199AEC550057B4B4 /* WebOSTVServiceSocketClient.h */, @@ -2003,6 +2019,7 @@ 44D8F7DA1AB27B4800559FE3 /* NSInvocation+ObjectGetter.m in Sources */, 449CC26B1AF9458E0064F2F7 /* ServiceDescriptionTests.m in Sources */, 444287CA1B055E0C00B1F875 /* XCTestCase+TaskTests.m in Sources */, + 44A08FFC1B698FCB0077E87D /* AirPlayServiceTests.m in Sources */, 448B286F1B041A3A00DFF18F /* FireTVMediaControlTests.m in Sources */, 448B286B1B03DAEA00DFF18F /* OCMArg+ArgumentCaptor.m in Sources */, 44291C521A68B4C000280E5C /* SSDPDiscoveryProvider_FilteringTests.m in Sources */, @@ -2013,12 +2030,14 @@ 448F36C51A1BD64200536649 /* ZeroConfDiscoveryProviderTests.m in Sources */, 441C9EFF1B3DD8C500F912D5 /* SubscriptionDeduplicatorTests.m in Sources */, 4498D9921A65B69F008C0B72 /* DLNAServiceTests.m in Sources */, + 44A090001B6B05850077E87D /* CastWebAppSessionTests.m in Sources */, 44758BBB1AE6C06200EC43A6 /* AirPlayServiceHTTPTests.m in Sources */, 44AD91741AF9A02300C23A71 /* FireTVServiceTests.m in Sources */, 440A031D1A854EDE0007E3D3 /* WebOSTVServiceSocketClientTests.m in Sources */, 448414F91AEB27F400124EE9 /* OCMStubRecorder+XCTestExpectation.m in Sources */, 44B43AFC1B6157F6004083E5 /* NSMutableDictionary+NilSafeTests.m in Sources */, 44D90AA91B06AA9E00A5CF2A /* AppStateChangeNotifierTests.m in Sources */, + 44A08FFA1B698E170077E87D /* WebAppSessionTests.m in Sources */, 44A5518F1AC1DF4C001AF783 /* NetcastTVServiceTests.m in Sources */, 44D0ECEC1B55D8FC00E02A8B /* SubtitleInfoTests.m in Sources */, 4498D9901A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m in Sources */, @@ -2059,6 +2078,7 @@ EA5FB8E3199AEC560057B4B4 /* ServiceSubscription.m in Sources */, EA5FB8F9199AEC570057B4B4 /* WebOSTVServiceMouse.m in Sources */, EA5FB88B199AEC560057B4B4 /* CTASIDownloadCache.m in Sources */, + 44A090041B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m in Sources */, EA5FB878199AEC550057B4B4 /* CapabilityFilter.m in Sources */, 44D0ECF01B55DA9000E02A8B /* SubtitleInfo.m in Sources */, EA5FB8F3199AEC570057B4B4 /* DLNAService.m in Sources */, diff --git a/core b/core index c00ab4fc..fc1deb92 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit c00ab4fc405c0265a44a32b42d8e7d9aa18d2fdf +Subproject commit fc1deb92889e42a12b7bb7d0e8f4fb6e90981775 diff --git a/modules/firetv b/modules/firetv index d3b02c2d..c0f13bc3 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit d3b02c2dbaa3b5050662ab11fcf53ed3b046119e +Subproject commit c0f13bc3d720a28191a43f20a1434a63666e37ab diff --git a/modules/google-cast b/modules/google-cast index f5fae4dd..e742e116 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit f5fae4ddba6fc6b7b5c36f8da5083156e6119cdb +Subproject commit e742e116eede092a6d931e69a18f0c2b745554c8 From 0cb10aa8ec540ecf478348d10afaf5bef5932c70 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 31 Jul 2015 13:16:39 -0700 Subject: [PATCH 20/47] XCTestCase: move unsupported error test helper to core's Common category --- ConnectSDK.xcodeproj/project.pbxproj | 6 ++++++ core | 2 +- modules/firetv | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 9897906d..df111817 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -124,6 +124,7 @@ 44A08FFC1B698FCB0077E87D /* AirPlayServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A08FFB1B698FCB0077E87D /* AirPlayServiceTests.m */; }; 44A090001B6B05850077E87D /* CastWebAppSessionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A08FFF1B6B05850077E87D /* CastWebAppSessionTests.m */; }; 44A090041B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A090021B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m */; }; + 44A090071B6C07370077E87D /* XCTestCase+Common.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A090061B6C07370077E87D /* XCTestCase+Common.m */; }; 44A0E1A71B3B31DC00ADF95F /* WebOSWebAppSessionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A0E1A51B3B2F5C00ADF95F /* WebOSWebAppSessionTests.m */; }; 44A499051B0AD0C1002C94E7 /* FireTVCapabilityMixin.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A499031B0AD0C1002C94E7 /* FireTVCapabilityMixin.h */; settings = {ATTRIBUTES = (Public, ); }; }; 44A499061B0AD0C1002C94E7 /* FireTVCapabilityMixin.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A499041B0AD0C1002C94E7 /* FireTVCapabilityMixin.m */; }; @@ -498,6 +499,8 @@ 44A08FFF1B6B05850077E87D /* CastWebAppSessionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CastWebAppSessionTests.m; sourceTree = ""; }; 44A090011B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+FeatureNotSupported_Private.h"; sourceTree = ""; }; 44A090021B6BDDBC0077E87D /* NSObject+FeatureNotSupported_Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+FeatureNotSupported_Private.m"; sourceTree = ""; }; + 44A090051B6C07370077E87D /* XCTestCase+Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "XCTestCase+Common.h"; sourceTree = ""; }; + 44A090061B6C07370077E87D /* XCTestCase+Common.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "XCTestCase+Common.m"; sourceTree = ""; }; 44A0E1A51B3B2F5C00ADF95F /* WebOSWebAppSessionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebOSWebAppSessionTests.m; sourceTree = ""; }; 44A499031B0AD0C1002C94E7 /* FireTVCapabilityMixin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FireTVCapabilityMixin.h; sourceTree = ""; }; 44A499041B0AD0C1002C94E7 /* FireTVCapabilityMixin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FireTVCapabilityMixin.m; sourceTree = ""; }; @@ -973,6 +976,8 @@ 448414F81AEB27F400124EE9 /* OCMStubRecorder+XCTestExpectation.m */, 44D8F7D81AB27B4800559FE3 /* NSInvocation+ObjectGetter.h */, 44D8F7D91AB27B4800559FE3 /* NSInvocation+ObjectGetter.m */, + 44A090051B6C07370077E87D /* XCTestCase+Common.h */, + 44A090061B6C07370077E87D /* XCTestCase+Common.m */, 4480857E1A12A7BE00E13938 /* ConnectSDKDefaultPlatformsTests.m */, 44EF61A11A12FC5000CF344C /* Discovery */, 4498D98E1A65A1B7008C0B72 /* Helpers */, @@ -2041,6 +2046,7 @@ 44A5518F1AC1DF4C001AF783 /* NetcastTVServiceTests.m in Sources */, 44D0ECEC1B55D8FC00E02A8B /* SubtitleInfoTests.m in Sources */, 4498D9901A65A1D7008C0B72 /* NSDictionary+KeyPredicateSearchTests.m in Sources */, + 44A090071B6C07370077E87D /* XCTestCase+Common.m in Sources */, 44A0E1A71B3B31DC00ADF95F /* WebOSWebAppSessionTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/core b/core index fc1deb92..9e5a931a 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit fc1deb92889e42a12b7bb7d0e8f4fb6e90981775 +Subproject commit 9e5a931a6046f1a2776b97431713fcf7a496af09 diff --git a/modules/firetv b/modules/firetv index c0f13bc3..f708c4ba 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit c0f13bc3d720a28191a43f20a1434a63666e37ab +Subproject commit f708c4bacaa21cb4dbbe7f3c523f0a5d3350193b From 9e29d8341db5a2fbfe541b77d4573063aa942a2e Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 5 Aug 2015 12:21:24 -0700 Subject: [PATCH 21/47] Add subtitles support for WebOS --- ConnectSDK.xcodeproj/project.pbxproj | 2 ++ README.md | 1 + core | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index df111817..37182d6c 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -448,6 +448,7 @@ 44789D861B5858D2001D5098 /* RokuService_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RokuService_Private.h; sourceTree = ""; }; 447F63431B14FDC600699843 /* DLNAServiceAcceptanceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DLNAServiceAcceptanceTests.m; sourceTree = ""; }; 447F63451B15000800699843 /* ConnectSDKIntegrationTests-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ConnectSDKIntegrationTests-Prefix.pch"; sourceTree = ""; }; + 447F93B91B714E8B005703EA /* WebOSTVService_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebOSTVService_Private.h; sourceTree = ""; }; 4480857A1A12A7BE00E13938 /* ConnectSDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ConnectSDKTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4480857E1A12A7BE00E13938 /* ConnectSDKDefaultPlatformsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectSDKDefaultPlatformsTests.m; sourceTree = ""; }; 448414F71AEB27F400124EE9 /* OCMStubRecorder+XCTestExpectation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OCMStubRecorder+XCTestExpectation.h"; sourceTree = ""; }; @@ -1494,6 +1495,7 @@ EA5FB84C199AEC550057B4B4 /* RokuService.m */, EA5FB84D199AEC550057B4B4 /* Sessions */, EA5FB857199AEC550057B4B4 /* WebOSTVService.h */, + 447F93B91B714E8B005703EA /* WebOSTVService_Private.h */, EA5FB858199AEC550057B4B4 /* WebOSTVService.m */, ); path = Services; diff --git a/README.md b/README.md index 3f80f779..8234f4ef 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ All of the test targets are compiled when the main `ConnectSDK` scheme is built, - Netcast service supports `SRT` format only, through DLNA. - Google Cast service supports `WebVTT` format only. The server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). - FireTV service supports `WebVTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. +- WebOS service supports `WebVTT` format only. Server providing subtitles should support CORS headers, similarly to Cast service's requirements. ##Contact - Twitter: [@ConnectSDK](https://twitter.com/ConnectSDK) diff --git a/core b/core index 9e5a931a..089740b9 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 9e5a931a6046f1a2776b97431713fcf7a496af09 +Subproject commit 089740b997003d659a65f634e6f6c3893ca298a4 From b1a4463e5d36a9c274142dab6b70767d34f18fc7 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 6 Aug 2015 11:40:25 -0700 Subject: [PATCH 22/47] Update Google Cast SDK dependency to latest 2.7.1 --- ConnectSDK.podspec | 2 +- modules/google-cast | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.podspec b/ConnectSDK.podspec index 1220cc89..30435eb0 100644 --- a/ConnectSDK.podspec +++ b/ConnectSDK.podspec @@ -108,7 +108,7 @@ Pod::Spec.new do |s| sp.source_files = "modules/google-cast/**/*.{h,m}" sp.private_header_files = "modules/google-cast/**/*_Private.h" - cast_version = "2.6.0" + cast_version = "2.7.1" sp.dependency "google-cast-sdk", cast_version sp.framework = "GoogleCast" sp.xcconfig = { diff --git a/modules/google-cast b/modules/google-cast index e742e116..ba30f79b 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit e742e116eede092a6d931e69a18f0c2b745554c8 +Subproject commit ba30f79b34bc1176370c08b30c195602cc5591e8 From 7fc25b05ef90c614fbc82f0080dce78466ab6d67 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 6 Aug 2015 11:58:41 -0700 Subject: [PATCH 23/47] GoogleCast subspec: exclude test files --- ConnectSDK.podspec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.podspec b/ConnectSDK.podspec index 30435eb0..80bb2042 100644 --- a/ConnectSDK.podspec +++ b/ConnectSDK.podspec @@ -104,9 +104,12 @@ Pod::Spec.new do |s| end s.subspec 'GoogleCast' do |sp| + cast_dir = "modules/google-cast" + sp.dependency 'ConnectSDK/Core' - sp.source_files = "modules/google-cast/**/*.{h,m}" - sp.private_header_files = "modules/google-cast/**/*_Private.h" + sp.source_files = "#{cast_dir}/**/*.{h,m}" + sp.exclude_files = "#{cast_dir}/*Tests/**/*" + sp.private_header_files = "#{cast_dir}/**/*_Private.h" cast_version = "2.7.1" sp.dependency "google-cast-sdk", cast_version From 02f8d4181de0ff2ac49a17feb4ff8f372e00142d Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 6 Aug 2015 16:39:23 -0700 Subject: [PATCH 24/47] WebOSWebAppSession: set the subtitle track id to 0 --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 089740b9..f577ab48 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 089740b997003d659a65f634e6f6c3893ca298a4 +Subproject commit f577ab48e2f1e9e358465dd3cde503972f39e395 From 92b8b07bbeca8260ee9c4f045644731ec03d7430 Mon Sep 17 00:00:00 2001 From: Ibrahim Adnan Date: Fri, 14 Aug 2015 10:58:06 -0700 Subject: [PATCH 25/47] Fix for Rewind/Fast fwd is returned in capabilities even though its not supported --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index f577ab48..7d55ee61 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit f577ab48e2f1e9e358465dd3cde503972f39e395 +Subproject commit 7d55ee61b557102bc37ebf8747d30ce0827112d0 From 14809e5f0859d30074a9ef53cc6722c4bb47cf5f Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 17 Aug 2015 15:34:54 -0700 Subject: [PATCH 26/47] README: add CocoaPods, License, and Platform badges --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 8234f4ef..1b7fd67c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,9 @@ #Connect SDK iOS + +[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/ConnectSDK.svg)](https://cocoapods.org/pods/ConnectSDK) +[![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) +[![Platform: iOS](https://img.shields.io/cocoapods/p/ConnectSDK.svg)](http://cocoadocs.org/docsets/ConnectSDK/) + Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. For more information, visit our [website](http://www.connectsdk.com/). From ce00008cf4240bcfb4bd08a1588d39ff8418aef8 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 17 Aug 2015 15:41:06 -0700 Subject: [PATCH 27/47] README: add Twitter badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1b7fd67c..5bdc7da7 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ [![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) [![Platform: iOS](https://img.shields.io/cocoapods/p/ConnectSDK.svg)](http://cocoadocs.org/docsets/ConnectSDK/) +![Twitter: @ConnectSDK](https://img.shields.io/badge/twitter-@ConnectSDK-blue.svg) + Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. For more information, visit our [website](http://www.connectsdk.com/). From 8886cc5d5f3802a212f39cd5f7f74ec715999c6b Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Mon, 17 Aug 2015 16:35:31 -0700 Subject: [PATCH 28/47] README: make Twitter badge a link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bdc7da7..be6fa1fa 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) [![Platform: iOS](https://img.shields.io/cocoapods/p/ConnectSDK.svg)](http://cocoadocs.org/docsets/ConnectSDK/) -![Twitter: @ConnectSDK](https://img.shields.io/badge/twitter-@ConnectSDK-blue.svg) +[![Twitter: @ConnectSDK](https://img.shields.io/badge/twitter-@ConnectSDK-blue.svg)](https://twitter.com/ConnectSDK) Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. From a11241b668e27c32845596fa76407f13833503b7 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 18 Aug 2015 10:19:15 -0700 Subject: [PATCH 29/47] Create build config for Travis --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..fcfaa1e9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: objective-c +osx_image: xcode6.4 + +xcode_project: ConnectSDK.xcodeproj +xcode_scheme: ConnectSDKTests +xcode_sdk: iphonesimulator From 8ab67f9b8a1d199c40ad25a57ad4c70ed411326d Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 18 Aug 2015 15:09:35 -0700 Subject: [PATCH 30/47] Download external frameworks for Travis CI build --- .travis.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.travis.yml b/.travis.yml index fcfaa1e9..089b6c4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,3 +4,13 @@ osx_image: xcode6.4 xcode_project: ConnectSDK.xcodeproj xcode_scheme: ConnectSDKTests xcode_sdk: iphonesimulator + +before_script: + - curl -L -ocast.zip https://redirector.gvt1.com/edgedl/chromecast/sdk/ios/GoogleCastSDK-2.7.1-Release-ios-default.zip + - unzip cast.zip 'GoogleCastSDK-2.7.1-Release/GoogleCast.framework/*' + - mv -v GoogleCastSDK-2.7.1-Release/GoogleCast.framework modules/google-cast/ + - curl -L -ofling.zip https://s3-us-west-1.amazonaws.com/amazon-fling/AmazonFling-SDK.zip + - unzip fling.zip 'ios-sdk/frameworks/*' + - mv -v ios-sdk/frameworks/{AmazonFling,third_party_framework/Bolts}.framework modules/firetv/Frameworks/ + +# vim: set sw=2 ts=2 sts=2 From 4883487f98ee940cb637d31fdff5a124d2fc7985 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 08:49:39 -0700 Subject: [PATCH 31/47] README: add Travis CI's build status badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index be6fa1fa..6edef142 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ #Connect SDK iOS +[![Build Status](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS.svg)](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS) + [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/ConnectSDK.svg)](https://cocoapods.org/pods/ConnectSDK) [![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) [![Platform: iOS](https://img.shields.io/cocoapods/p/ConnectSDK.svg)](http://cocoadocs.org/docsets/ConnectSDK/) From bbbf61f88dff6a4da1c8128f48c66e808281fe40 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 09:25:22 -0700 Subject: [PATCH 32/47] travis config: run unit and integration tests --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 089b6c4c..7677e378 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,6 @@ language: objective-c osx_image: xcode6.4 -xcode_project: ConnectSDK.xcodeproj -xcode_scheme: ConnectSDKTests -xcode_sdk: iphonesimulator - before_script: - curl -L -ocast.zip https://redirector.gvt1.com/edgedl/chromecast/sdk/ios/GoogleCastSDK-2.7.1-Release-ios-default.zip - unzip cast.zip 'GoogleCastSDK-2.7.1-Release/GoogleCast.framework/*' @@ -13,4 +9,8 @@ before_script: - unzip fling.zip 'ios-sdk/frameworks/*' - mv -v ios-sdk/frameworks/{AmazonFling,third_party_framework/Bolts}.framework modules/firetv/Frameworks/ +script: + - xctool -scheme ConnectSDK -sdk iphonesimulator build test + - xctool -scheme ConnectSDKIntegrationTests -sdk iphonesimulator build test + # vim: set sw=2 ts=2 sts=2 From 4ed939c268d8b50a47d591bfb1f56acc8013ceae Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 09:56:22 -0700 Subject: [PATCH 33/47] travis config: use codecov.io to provide test code coverage reports --- .travis.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7677e378..26d4e564 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,9 @@ language: objective-c osx_image: xcode6.4 +install: + - brew install gcovr + before_script: - curl -L -ocast.zip https://redirector.gvt1.com/edgedl/chromecast/sdk/ios/GoogleCastSDK-2.7.1-Release-ios-default.zip - unzip cast.zip 'GoogleCastSDK-2.7.1-Release/GoogleCast.framework/*' @@ -10,7 +13,11 @@ before_script: - mv -v ios-sdk/frameworks/{AmazonFling,third_party_framework/Bolts}.framework modules/firetv/Frameworks/ script: - - xctool -scheme ConnectSDK -sdk iphonesimulator build test - - xctool -scheme ConnectSDKIntegrationTests -sdk iphonesimulator build test + - xctool -scheme ConnectSDK -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/build_ccov" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES build test + - xctool -scheme ConnectSDKIntegrationTests -configuration Debug -sdk iphonesimulator build test + +after_success: + - gcovr --object-directory="out/build_ccov/ConnectSDK/Build/Intermediates/ConnectSDK.build/Debug-iphonesimulator/ConnectSDK.build/Objects-normal/i386/" --root=. --xml-pretty --gcov-exclude='.*#(?:\w*Tests|Frameworks)#.*' --print-summary --output="cobertura.xml" + - bash <(curl -s https://codecov.io/bash) -f "cobertura.xml" # vim: set sw=2 ts=2 sts=2 From 1bd8d7b58a00d19a00ce7c9fda6ecd9c411553c2 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 12:36:12 -0700 Subject: [PATCH 34/47] README: add codecov's code coverage badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6edef142..9ee8588d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ #Connect SDK iOS [![Build Status](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS.svg)](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS) +[![Code Coverage](https://img.shields.io/codecov/c/github/ConnectSDK/Connect-SDK-iOS/dev.svg)](https://codecov.io/github/ConnectSDK/Connect-SDK-iOS) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/ConnectSDK.svg)](https://cocoapods.org/pods/ConnectSDK) [![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) From 62862c356e49c171d12a913c71af6864e157d7a0 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 13:02:05 -0700 Subject: [PATCH 35/47] travis config: run test action only for integration tests --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 26d4e564..e441e8dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,11 +13,11 @@ before_script: - mv -v ios-sdk/frameworks/{AmazonFling,third_party_framework/Bolts}.framework modules/firetv/Frameworks/ script: - - xctool -scheme ConnectSDK -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/build_ccov" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES build test - - xctool -scheme ConnectSDKIntegrationTests -configuration Debug -sdk iphonesimulator build test + - xctool -scheme ConnectSDK -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/tests_build" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES build test + - xctool -scheme ConnectSDKIntegrationTests -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/integration_tests_build" test after_success: - - gcovr --object-directory="out/build_ccov/ConnectSDK/Build/Intermediates/ConnectSDK.build/Debug-iphonesimulator/ConnectSDK.build/Objects-normal/i386/" --root=. --xml-pretty --gcov-exclude='.*#(?:\w*Tests|Frameworks)#.*' --print-summary --output="cobertura.xml" + - gcovr --object-directory="out/tests_build/ConnectSDK/Build/Intermediates/ConnectSDK.build/Debug-iphonesimulator/ConnectSDK.build/Objects-normal/i386/" --root=. --xml-pretty --gcov-exclude='.*#(?:\w*Tests|Frameworks)#.*' --print-summary --output="cobertura.xml" - bash <(curl -s https://codecov.io/bash) -f "cobertura.xml" # vim: set sw=2 ts=2 sts=2 From 374bf979953ca24e747f3beeb2eab04205086f15 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 13:10:02 -0700 Subject: [PATCH 36/47] README: place all the badges on one line --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 9ee8588d..f0f6166b 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,9 @@ [![Build Status](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS.svg)](https://travis-ci.org/ConnectSDK/Connect-SDK-iOS) [![Code Coverage](https://img.shields.io/codecov/c/github/ConnectSDK/Connect-SDK-iOS/dev.svg)](https://codecov.io/github/ConnectSDK/Connect-SDK-iOS) - [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/ConnectSDK.svg)](https://cocoapods.org/pods/ConnectSDK) [![Apache License, 2.0](https://img.shields.io/cocoapods/l/ConnectSDK.svg)](https://github.com/ConnectSDK/Connect-SDK-iOS/blob/master/LICENSE) [![Platform: iOS](https://img.shields.io/cocoapods/p/ConnectSDK.svg)](http://cocoadocs.org/docsets/ConnectSDK/) - [![Twitter: @ConnectSDK](https://img.shields.io/badge/twitter-@ConnectSDK-blue.svg)](https://twitter.com/ConnectSDK) Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols. From 77e81315bef5f00e52519b3bbbbaa611dc93c4ba Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 19 Aug 2015 13:16:02 -0700 Subject: [PATCH 37/47] travis config: remove build action to speed up build process --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e441e8dc..448e74d6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ before_script: - mv -v ios-sdk/frameworks/{AmazonFling,third_party_framework/Bolts}.framework modules/firetv/Frameworks/ script: - - xctool -scheme ConnectSDK -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/tests_build" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES build test + - xctool -scheme ConnectSDK -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/tests_build" GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES test - xctool -scheme ConnectSDKIntegrationTests -configuration Debug -sdk iphonesimulator -IDECustomDerivedDataLocation="out/integration_tests_build" test after_success: From 445021c3ca93a6d1537315f08f7c57f56b80fb07 Mon Sep 17 00:00:00 2001 From: Ibrahim Adnan Date: Thu, 20 Aug 2015 11:39:32 -0700 Subject: [PATCH 38/47] Updated sub modules --- core | 2 +- modules/firetv | 2 +- modules/google-cast | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core b/core index 7d55ee61..a2fdbbd4 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 7d55ee61b557102bc37ebf8747d30ce0827112d0 +Subproject commit a2fdbbd4350ded042b741bbcad8953bb7f396ca0 diff --git a/modules/firetv b/modules/firetv index f708c4ba..2b7ea99c 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit f708c4bacaa21cb4dbbe7f3c523f0a5d3350193b +Subproject commit 2b7ea99cf63c7b745d27ba9eb575d3d5752f6c26 diff --git a/modules/google-cast b/modules/google-cast index ba30f79b..7fd01162 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit ba30f79b34bc1176370c08b30c195602cc5591e8 +Subproject commit 7fd01162349506aaf45f622b2a61a5cea6078b44 From 54065f60701985039720674fb5e6a540782b2a89 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 20 Aug 2015 12:29:20 -0700 Subject: [PATCH 39/47] README: update the Google Cast download link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0f6166b..1689606d 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ This project has the following dependencies, some of which require manual setup. * Automatic Reference Counting (ARC) * [Connect-SDK-iOS-Core](https://github.com/ConnectSDK/Connect-SDK-iOS-Core) submodule * [Connect-SDK-iOS-Google-Cast](https://github.com/ConnectSDK/Connect-SDK-iOS-Google-Cast) submodule - - Requires [`GoogleCast.framework`](https://developers.google.com/cast/docs/downloads) + - Requires [`GoogleCast.framework`](https://developers.google.com/cast/docs/developers#libraries) * [Connect-SDK-iOS-FireTV](https://github.com/ConnectSDK/Connect-SDK-iOS-FireTV) submodule - Requires [`AmazonFling.framework`](https://developer.amazon.com/public/apis/experience/fling/docs/amazon-fling-sdk-download) From b67ade8dbb9456ac2fea0e544a38abe85ca8705f Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 20 Aug 2015 12:29:51 -0700 Subject: [PATCH 40/47] Cast and FireTV modules: clarify the frameworks linking steps --- modules/firetv | 2 +- modules/google-cast | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/firetv b/modules/firetv index 2b7ea99c..aabc93b6 160000 --- a/modules/firetv +++ b/modules/firetv @@ -1 +1 @@ -Subproject commit 2b7ea99cf63c7b745d27ba9eb575d3d5752f6c26 +Subproject commit aabc93b6625ec92bc0adb47c088248d7d1537a0e diff --git a/modules/google-cast b/modules/google-cast index 7fd01162..6e6a2220 160000 --- a/modules/google-cast +++ b/modules/google-cast @@ -1 +1 @@ -Subproject commit 7fd01162349506aaf45f622b2a61a5cea6078b44 +Subproject commit 6e6a2220d469eeda7a8cb4c49fe1c15720466c7d From 04ba45823ccd46b3c504f89742b6483dd53b8838 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Thu, 20 Aug 2015 18:25:16 -0700 Subject: [PATCH 41/47] DispatchQueueBlockRunnerTests: ignore -testBlockShouldNotBeRunSynchronously --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index a2fdbbd4..c7bd838d 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit a2fdbbd4350ded042b741bbcad8953bb7f396ca0 +Subproject commit c7bd838d85ffa8f97a4e8fedd53213b90204ffa4 From e3e221bf51549613375f9a816cd80377f3a5fce0 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Fri, 21 Aug 2015 10:45:45 -0700 Subject: [PATCH 42/47] README: extend the CORS headers note for media files for Google Cast --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1689606d..d73b1589 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ All of the test targets are compiled when the main `ConnectSDK` scheme is built, - DLNA service supports `SRT` format only. Since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. - Netcast service supports `SRT` format only, through DLNA. -- Google Cast service supports `WebVTT` format only. The server providing subtitles should support CORS headers, otherwise they are not displayed. The simplest change is to send this HTTP response header for your subtitles: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). +- Google Cast service supports `WebVTT` format only. Servers providing subtitles and media files should support [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) headers (unless they are of the same origin). The simplest change is to send this HTTP response header for your files: `Access-Control-Allow-Origin: *`. More information is here: [https://developers.google.com/cast/docs/ios_sender#cors-requirements](https://developers.google.com/cast/docs/ios_sender#cors-requirements). - FireTV service supports `WebVTT` format only. Subtitles on Fire TV are hidden by default. To display them, the user should manually pick one in the media player (click the "Options" button on the remote). The Fling SDK doesn't provide any way to make them appear remotely. - WebOS service supports `WebVTT` format only. Server providing subtitles should support CORS headers, similarly to Cast service's requirements. From 210835374722044bd6e364dc656ea0601ee8bf75 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 25 Aug 2015 15:46:04 -0700 Subject: [PATCH 43/47] RokuService: Fix a crash in getAppList when only one app is returned --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index c7bd838d..28691e03 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit c7bd838d85ffa8f97a4e8fedd53213b90204ffa4 +Subproject commit 28691e036aec0bbbc581853fff04d2f0005bad96 From 2863531fd29a4ad038a51bcbf84bf91cbd08eb91 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 25 Aug 2015 16:36:39 -0700 Subject: [PATCH 44/47] Remove debug symbols from the library in Release configuration This allows to decrease the framework size (with four architectures) from 23.8 MiB to 11.7 MiB (current values). Implements https://github.com/ConnectSDK/Connect-SDK-iOS/issues/133 --- ConnectSDK.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ConnectSDK.xcodeproj/project.pbxproj b/ConnectSDK.xcodeproj/project.pbxproj index 37182d6c..b44099f5 100644 --- a/ConnectSDK.xcodeproj/project.pbxproj +++ b/ConnectSDK.xcodeproj/project.pbxproj @@ -2495,6 +2495,7 @@ ALWAYS_SEARCH_USER_PATHS = YES; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = NO; + DEPLOYMENT_POSTPROCESSING = YES; DSTROOT = /tmp/Connect_SDK.dst; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -2502,6 +2503,7 @@ "$(PROJECT_DIR)/modules/google-cast", "$(PROJECT_DIR)/modules/firetv/Frameworks", ); + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "core/ConnectSDK-Prefix.pch"; GCC_WARN_ABOUT_MISSING_NEWLINE = YES; From 337f14da95c7db077b943cddaaf536482ceba3b8 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Wed, 26 Aug 2015 16:22:05 -0700 Subject: [PATCH 45/47] DLNA: Ignore incorrect events in volume and mute subscriptions --- core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core b/core index 28691e03..997f64ed 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 28691e036aec0bbbc581853fff04d2f0005bad96 +Subproject commit 997f64ed7c8e947c2af1e893af29cebc090d68f5 From 67496d06c6a79145c5b702cb2e3cfc87df720c05 Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 8 Sep 2015 15:18:09 -0700 Subject: [PATCH 46/47] CHANGELOG: add version 1.6.0 --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe245773..b9b9af99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Connect SDK iOS Changelog +## 1.6.0 -- 09 Sep 2015 + +- Added subtitles support for WebOS, Netcast, DLNA, Chromecast and FireTV +- Supports Android TV devices +- Fixed playing media on Roku 6.2 +- Removed Rewind and FastForward capabilities from Netcast service because they are not supported +- Miscellaneous bug fixes +- [See commits between 1.5.0 and 1.6.0](https://github.com/ConnectSDK/Connect-SDK-iOS/compare/1.5.0...1.6.0) + +[View files at version 1.6.0](https://github.com/ConnectSDK/Connect-SDK-iOS/tree/1.6.0) + ## 1.5.0 -- 09 Jul 2015 - Supports Amazon Fling SDK to play and control media on Fire TV devices From 74d6c5c710d3992f0782e94fcb1005db33e71e1c Mon Sep 17 00:00:00 2001 From: Eugene Nikolskyi Date: Tue, 8 Sep 2015 15:20:15 -0700 Subject: [PATCH 47/47] Bump version to 1.6.0 --- ConnectSDK.podspec | 2 +- core | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ConnectSDK.podspec b/ConnectSDK.podspec index 80bb2042..5913881f 100644 --- a/ConnectSDK.podspec +++ b/ConnectSDK.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.name = "ConnectSDK" - s.version = "1.5.0" + s.version = "1.6.0" s.summary = "Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms." s.description = <<-DESC diff --git a/core b/core index 997f64ed..c06362d4 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 997f64ed7c8e947c2af1e893af29cebc090d68f5 +Subproject commit c06362d42b6d4efad26af1ed543c7929f2b9abca