From d2de1050ba7aff0348fb04a26898305a135edcbf Mon Sep 17 00:00:00 2001 From: martii Date: Fri, 2 May 2014 15:05:47 +0200 Subject: [PATCH] libeplayer3: limit video frame skipping to network streams --- libeplayer3/input.cpp | 4 +++- libeplayer3/player.cpp | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libeplayer3/input.cpp b/libeplayer3/input.cpp index 2f81a1d..3316878 100644 --- a/libeplayer3/input.cpp +++ b/libeplayer3/input.cpp @@ -88,7 +88,9 @@ bool Input::Play() int warnAudioWrite = 0; int warnVideoWrite = 0; - bool audioSeen = !audioTrack; // HACK: Drop all video frames until the first audio frame was seen to keep player2 from stuttering. + // HACK: Drop all video frames until the first audio frame was seen to keep player2 from stuttering. + // This seems to be necessary for network streaming only ... + bool audioSeen = !audioTrack || !player->isHttp; while (player->isPlaying && !player->abortRequested) { diff --git a/libeplayer3/player.cpp b/libeplayer3/player.cpp index 48f4d2c..a9390eb 100644 --- a/libeplayer3/player.cpp +++ b/libeplayer3/player.cpp @@ -78,6 +78,7 @@ bool Player::Open(const char *Url, bool _noprobe) isHttp = true; } else if (strstr(Url, "://")) { url = Url; + isHttp = strncmp("file://", Url, 7); } else { fprintf(stderr, "%s %s %d: Unknown stream (%s)\n", __FILE__, __func__, __LINE__, Url); return false;