diff --git a/src/input/input_ebml.cpp b/src/input/input_ebml.cpp index b7b88fd6..8401c0c8 100644 --- a/src/input/input_ebml.cpp +++ b/src/input/input_ebml.cpp @@ -131,7 +131,12 @@ namespace Mist{ if (inFile == stdin){ lastClusterBPos = 0; }else{ - lastClusterBPos = Util::ftell(inFile); + int64_t bp = Util::ftell(inFile); + if(bp == -1 && errno == ESPIPE){ + lastClusterBPos = 0; + }else{ + lastClusterBPos = bp; + } } DONTEVEN_MSG("Found a cluster at position %llu", lastClusterBPos); } diff --git a/src/input/input_ebml.h b/src/input/input_ebml.h index 4b433f0c..057bcd8c 100644 --- a/src/input/input_ebml.h +++ b/src/input/input_ebml.h @@ -1,3 +1,4 @@ +#pragma once #include "input.h" #include diff --git a/src/output/output_ebml.h b/src/output/output_ebml.h index 37242bdf..35943a3e 100644 --- a/src/output/output_ebml.h +++ b/src/output/output_ebml.h @@ -1,3 +1,4 @@ +#pragma once #include "output_http.h" namespace Mist{ @@ -7,7 +8,7 @@ namespace Mist{ static void init(Util::Config *cfg); void onHTTP(); void sendNext(); - void sendHeader(); + virtual void sendHeader(); uint32_t clusterSize(uint64_t start, uint64_t end); private: