From e1f7d2acea48a951e2b682824955731e3a4dd7cf Mon Sep 17 00:00:00 2001 From: Thulinma Date: Mon, 25 Mar 2013 19:40:21 +0100 Subject: [PATCH] Fixed reading FLV files taking 100% CPU. --- lib/flv_tag.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/flv_tag.cpp b/lib/flv_tag.cpp index 5ce1006d..d6cf6839 100644 --- a/lib/flv_tag.cpp +++ b/lib/flv_tag.cpp @@ -4,6 +4,7 @@ #include "amf.h" #include "rtmpchunks.h" #include "flv_tag.h" +#include "timing.h" #include //for Tag::FileLoader #include //for Tag::FileLoader #include //for Tag::FileLoader @@ -913,6 +914,8 @@ bool FLV::Tag::FileLoader(FILE * f){ Error_Str = "Invalid header received."; return false; } + }else{ + Util::sleep(100);//sleep 100ms } }else{ //if a tag header, calculate length and read tag body @@ -933,6 +936,8 @@ bool FLV::Tag::FileLoader(FILE * f){ } done = false; } + }else{ + Util::sleep(100);//sleep 100ms } }else{ //read tag body @@ -947,6 +952,8 @@ bool FLV::Tag::FileLoader(FILE * f){ sofar = 0; fcntl(fileno(f), F_SETFL, preflags); return true; + }else{ + Util::sleep(100);//sleep 100ms } } fcntl(fileno(f), F_SETFL, preflags);