diff --git a/src/utils/videoProtocol.test.ts b/src/utils/videoProtocol.test.ts index 6ca58f8..263fb14 100644 --- a/src/utils/videoProtocol.test.ts +++ b/src/utils/videoProtocol.test.ts @@ -5,16 +5,16 @@ describe('videoProtocol', () => { describe('detectVideoProtocol', () => { it('should detect MPEG-TS IPTV streams', () => { const result = detectVideoProtocol('http://favoritv65.xyz:8080/live/Apollon45/HpjWrDa6gWWd/98925.ts') - expect(result.protocol).toBe('hls') + expect(result.protocol).toBe('native') expect(result.isLive).toBe(true) - expect(result.needsSpecialPlayer).toBe(true) + expect(result.needsSpecialPlayer).toBe(false) }) it('should detect .ts files with query parameters', () => { const result = detectVideoProtocol('http://example.com/stream/video.ts?token=abc123') - expect(result.protocol).toBe('hls') + expect(result.protocol).toBe('native') expect(result.isLive).toBe(true) - expect(result.needsSpecialPlayer).toBe(true) + expect(result.needsSpecialPlayer).toBe(false) }) it('should detect HLS streams', () => { @@ -75,8 +75,8 @@ describe('videoProtocol', () => { expect(isHlsStream('http://example.com/stream.m3u8')).toBe(true) }) - it('should return true for IPTV .ts streams (they use HLS.js for transmuxing)', () => { - expect(isHlsStream('http://favoritv65.xyz:8080/live/user/pass/98925.ts')).toBe(true) + it('should return false for IPTV .ts streams (they use native playback)', () => { + expect(isHlsStream('http://favoritv65.xyz:8080/live/user/pass/98925.ts')).toBe(false) }) it('should return false for non-HLS streams', () => { diff --git a/src/utils/videoProtocol.ts b/src/utils/videoProtocol.ts index 27d0094..e537817 100644 --- a/src/utils/videoProtocol.ts +++ b/src/utils/videoProtocol.ts @@ -74,12 +74,12 @@ export const detectVideoProtocol = (src: string): ProtocolDetectionResult => { // MPEG-TS (IPTV) detection // Check for .ts extension (Transport Stream used in IPTV) // Note: These are direct TS streams, not HLS playlists - // We use HLS.js to transmux them as browsers don't support MPEG-TS natively + // Try native playback first as modern browsers support MPEG-TS if (lowerSrc.includes('.ts') || lowerSrc.match(/\.ts(\?|$)/)) { return { - protocol: 'hls', // Use HLS.js which can handle MPEG-TS transmuxing + protocol: 'native', // Try native playback first isLive: true, // IPTV streams are typically live - needsSpecialPlayer: true, // Requires HLS.js for MPEG-TS transmuxing + needsSpecialPlayer: false, // Modern browsers support MPEG-TS } }