denivip / osmf-hls-plugin

OSMF HLS Plugin
ISC License
180 stars 93 forks source link

Revert "Major changes" #105

Closed D3adKnight closed 10 years ago

D3adKnight commented 10 years ago

Reverts denivip/osmf-hls-plugin#104 Some problems in video playback =(

tecteun commented 10 years ago

Can I test the video you tried?

tecteun commented 10 years ago

Also I did not test with the SMFPlayer, will get that fixed, and create a new pull-request.

D3adKnight commented 10 years ago

This stream: http://pp.live.francetv.fr/simulcast/France_2/hls/index.m3u8

But for test you need proxy soft for crossdomain.xml (charles proxy ok), just remap calling external crossdomain to local).

tecteun commented 10 years ago

Allright found the problem. HTTPHLSNetStream uses HTTPHLSStreamMixer, which I obviously did not test. (all our streams have only 1 audio source). if I disable the use of the HTTPHLSStreamMixer in HTTPHLSNetStream::createSource() it works just fine :)

Will try to find the problem in HTTPHLSStreammixer.as

tecteun commented 10 years ago

problem fixed by setting bytes.position = 0

D3adKnight commented 10 years ago

In fileHandler output? Yes, this fix a problem in unencrypted streams, but in encrypted player goes into endless buffering.

tecteun commented 10 years ago

Also, how is HTTPHLSStreammixer supposed to work? Don't we need to set _mixer.audio to a file handler?

tecteun commented 10 years ago

Ah, I see, the video I'm testing with (http://pp.live.francetv.fr/simulcast/test_denivip/hls_monde/index.m3u8) has no default audio, so I have to set it manually with changeAudioStreamTo()

The video you linked above, does not work..

tecteun commented 10 years ago

I cannot reproduce the endless buffering case for AES HLs..

D3adKnight commented 10 years ago

The video you linked above, does not work..

They need proxy for crossdomain.xml (as I describe above), and with fix (bytes.position = 0) they works fine.

This is encrypted stream: http://pp.live.francetv.fr/simulcast/France_2/HLSS/index.m3u8 (also need proxy)

D3adKnight commented 10 years ago

*and for live streams also need swap 321-322 lines in HTTPStreamingHLSIndexHandler.as. Because when stream starts quality init value is '-1'.

tecteun commented 10 years ago

The problem lies within HTTPHLSStreamMixer.as, this has no priority for us at the moment,

For some reason the process is completely stalled by the getBytes function of HTTPHLSStreamMixer. If you don't use alternative audio streams, HLS with AES works perfect.

D3adKnight commented 10 years ago

Today I'll release fix for this stream (with AES): http://pp.live.francetv.fr/simulcast/France_2/HLSS/index.m3u8

Problem was in HTTPStreamingHLSIndexHandler.as, in IV initialization. They don't convert into HEX format. In our release all works fine, at least. But I try your version... don't work =(. Something wrong in decoding.