14#if ENABLE_ZCHUNK_COMPRESSION
26 auto &sm = stateMachine();
27 const auto &spec = sm._spec;
29 if ( spec.checkExistsOnly() ) {
30 MIL_MEDIA <<
"Check exists only enabled" << std::endl;
34#if ENABLE_ZCHUNK_COMPRESSION
35 bool deltaZck = isZchunkFile( spec.deltaFile() );
37 if ( spec.metalinkEnabled() ) {
38#if ENABLE_ZCHUNK_COMPRESSION
39 if ( deltaZck && spec.headerSize() > 0 ) {
40 MIL_MEDIA <<
"We might have a zck file, detecting metalink first" << std::endl;
44 MIL_MEDIA <<
"No zchunk data available but metalink requested, going to download metalink directly." << std::endl;
48#if ENABLE_ZCHUNK_COMPRESSION
50 if ( deltaZck && spec.headerSize() > 0 ) {
51 MIL_MEDIA <<
"No metalink but zckunk data availble trying to download ZckHead directly." << std::endl;
52 return _sigTransitionToDLZckHeaderState.emit();
55 MIL_MEDIA <<
"Fallback to normal DL" << std::endl;
59#if ENABLE_ZCHUNK_COMPRESSION
60 std::shared_ptr<DLZckHeadState> InitialState::toDLZckHeadState()
63 return std::make_shared<DLZckHeadState>( std::vector<Url> { stateMachine()._spec.url() }, stateMachine() );
Signal< void()> _sigTransitionToDetectMetalinkState
Signal< void()> _sigTransitionToDlNormalFileState
Signal< void()> _sigTransitionToDlMetaLinkInfoState