diff --git a/src/buffer/player.cpp b/src/buffer/player.cpp index 29743676..491e9e7f 100644 --- a/src/buffer/player.cpp +++ b/src/buffer/player.cpp @@ -83,7 +83,7 @@ int main(int argc, char** argv){ DTSC::File source = DTSC::File(conf.getString("filename")); in_out.SendNow(source.getMeta().toNetPacked()); - if (DTSC::isFixed(source.getMeta())){ + if ( !DTSC::isFixed(source.getMeta())){ std::cerr << "Encountered a non-fixed file." << std::endl; return 1; } diff --git a/src/controller/controller_streams.cpp b/src/controller/controller_streams.cpp index 43813176..2d7318cd 100644 --- a/src/controller/controller_streams.cpp +++ b/src/controller/controller_streams.cpp @@ -70,8 +70,10 @@ namespace Controller { } if ( !DTSC::isFixed(data["meta"])){ char * tmp_cmd[3] = {0, 0, 0}; - std::string mistfix = Util::getMyPath() + "MistDTSCFix " + URL; - Util::Procs::Start("MistFixer", mistfix); + std::string mistfix = Util::getMyPath() + "MistDTSCFix"; + tmp_cmd[0] = (char*)mistfix.c_str(); + tmp_cmd[1] = (char*)URL.c_str(); + Util::Procs::StartPiped("MistFixer", tmp_cmd, 0, 0, 0); } if (Util::epoch() - lastBuffer[name] > 5){ data["error"] = "Available"; diff --git a/src/info.cpp b/src/info.cpp index b44b8e1e..1c6be0ca 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -90,6 +90,9 @@ namespace Info { fileSpecs.removeMember( "streams" ); } else { fileSpecs["format"] = "dtsc"; + if (DTSC::isFixed(fileSpecs)){ + fileSpecs["is_fixed"] = 1ll; + } JSON::Value tracks = fileSpecs["tracks"]; for(JSON::ObjIter trackIt = tracks.ObjBegin(); trackIt != tracks.ObjEnd(); trackIt++){ if (fileSpecs["tracks"][trackIt->first].isMember("init")){