summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThibaut Mattern <tmattern@users.sourceforge.net>2004-06-02 19:46:10 +0000
committerThibaut Mattern <tmattern@users.sourceforge.net>2004-06-02 19:46:10 +0000
commit9a9cbf10d1b4b7baabce0de67a33bda940d75f6f (patch)
tree1f0eaab3cd3979d1fcc07b3dc9f477e4754480e1 /src
parente5e8788f9ab6eedee28f48f26c2ee3b2e446825c (diff)
downloadxine-lib-9a9cbf10d1b4b7baabce0de67a33bda940d75f6f.tar.gz
xine-lib-9a9cbf10d1b4b7baabce0de67a33bda940d75f6f.tar.bz2
Do not loop in __wait_first_frame.
Copy is_frame value in duplicate_frame vo function. Fix the bug i've reported here: http://news.gmane.org/navbar.php?group=gmane.comp.video.xine.devel&article=9301&next=9322&prev=9310&newsrc=,9301,9322 CVS patchset: 6631 CVS date: 2004/06/02 19:46:10
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/video_out.c5
-rw-r--r--src/xine-engine/xine.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c
index 6995b1f46..f3a566934 100644
--- a/src/xine-engine/video_out.c
+++ b/src/xine-engine/video_out.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out.c,v 1.196 2004/05/30 21:33:39 mroi Exp $
+ * $Id: video_out.c,v 1.197 2004/06/02 19:46:11 tmattern Exp $
*
* frame allocation / queuing / scheduling / output functions
*/
@@ -618,6 +618,7 @@ static vo_frame_t * duplicate_frame( vos_t *this, vo_frame_t *img ) {
dupl->proc_called = 0;
dupl->duration = img->duration;
+ dupl->is_first = img->is_first;
dupl->stream = img->stream;
memcpy( dupl->extra_info, img->extra_info, sizeof(extra_info_t) );
@@ -681,7 +682,7 @@ static void expire_frames (vos_t *this, int64_t cur_vpts) {
diff = cur_vpts - pts;
if (diff > duration || this->discard_frames) {
-
+
if( !this->discard_frames ) {
xine_log(this->xine, XINE_LOG_MSG,
_("video_out: throwing away image with pts %" PRId64 " because it's too old (diff : %" PRId64 ").\n"), pts, diff);
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index 4d01f77ad..efc12a68d 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine.c,v 1.293 2004/05/23 18:47:02 tmattern Exp $
+ * $Id: xine.c,v 1.294 2004/06/02 19:46:10 tmattern Exp $
*/
/*
@@ -1070,7 +1070,7 @@ int xine_open (xine_stream_t *stream, const char *mrl) {
static void __wait_first_frame (xine_stream_t *stream) {
if (stream->video_decoder_plugin) {
pthread_mutex_lock (&stream->first_frame_lock);
- while (stream->first_frame_flag > 0) {
+ if (stream->first_frame_flag > 0) {
struct timeval tv;
struct timespec ts;
gettimeofday(&tv, NULL);