diff options
author | ods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-09-23 21:05:28 +0000 |
---|---|---|
committer | ods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-09-23 21:05:28 +0000 |
commit | b45efb0eeba18af90d6c7f02d4cf5fc312ba0368 (patch) | |
tree | de2c2066985e932bdb73b0171ac42c00d6d780bf /libmpdemux/demux_nut.c | |
parent | dcc0b8e177364e88473f11833775bc88a07ec241 (diff) | |
download | mpv-b45efb0eeba18af90d6c7f02d4cf5fc312ba0368.tar.bz2 mpv-b45efb0eeba18af90d6c7f02d4cf5fc312ba0368.tar.xz |
simplifications, any error from libnut is fatal
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19964 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_nut.c')
-rw-r--r-- | libmpdemux/demux_nut.c | 48 |
1 files changed, 16 insertions, 32 deletions
diff --git a/libmpdemux/demux_nut.c b/libmpdemux/demux_nut.c index e4a78da8d6..e28b75131c 100644 --- a/libmpdemux/demux_nut.c +++ b/libmpdemux/demux_nut.c @@ -180,25 +180,12 @@ static int demux_nut_fill_buffer(demuxer_t * demuxer, demux_stream_t * dsds) { demuxer->filepos = stream_tell(demuxer->stream); if (stream_eof(demuxer->stream)) return 0; - while (1) { - ret = nut_read_next_packet(nut, &pd); - if (ret < 0) { - mp_msg(MSGT_HEADER, MSGL_ERR, "NUT error: %s\n", - nut_error(-ret)); - continue; - } - if (ret == 1) return 0; // EOF - if (pd.type == e_frame) break; - // else, skip this packet - while ((ret = nut_skip_packet(nut, &pd.len))) { - if (ret < 0) { - mp_msg(MSGT_HEADER, MSGL_ERR, - "NUT error: %s\n", nut_error(-ret)); - break; - } - if (ret == 1) return 0; // EOF - } + ret = nut_read_next_packet(nut, &pd); + if (ret < 0) { + mp_msg(MSGT_HEADER, MSGL_ERR, "NUT error: %s\n", + nut_error(-ret)); } + if (ret) return 0; // fatal error pts = (double)pd.pts * priv->s[pd.stream].time_base.nom / priv->s[pd.stream].time_base.den; @@ -213,14 +200,12 @@ static int demux_nut_fill_buffer(demuxer_t * demuxer, demux_stream_t * dsds) { ds = demuxer->video; } else { - while ((ret = nut_skip_packet(nut, &pd.len))) { - if (ret < 0) { - mp_msg(MSGT_HEADER, MSGL_ERR, - "NUT error: %s\n", nut_error(-ret)); - break; - } - if (ret == 1) return 0; // EOF + ret = nut_skip_packet(nut, &pd.len); + if (ret < 0) { + mp_msg(MSGT_HEADER, MSGL_ERR, "NUT error: %s\n", + nut_error(-ret)); } + if (ret) return 0; // fatal error return 1; } @@ -233,14 +218,13 @@ static int demux_nut_fill_buffer(demuxer_t * demuxer, demux_stream_t * dsds) { dp->pos = demuxer->filepos; dp->flags= (pd.flags & NUT_FLAG_KEY) ? 0x10 : 0; - while ((ret = nut_read_frame(nut, &pd.len, dp->buffer))) { - if (ret < 0) { - mp_msg(MSGT_HEADER, MSGL_ERR, - "NUT error: %s\n", nut_error(-ret)); - break; - } - if (ret == 1) return 0; // EOF + ret = nut_read_frame(nut, &pd.len, dp->buffer); + if (ret < 0) { + mp_msg(MSGT_HEADER, MSGL_ERR, "NUT error: %s\n", + nut_error(-ret)); } + if (ret) return 0; // fatal error + ds_add_packet(ds, dp); // append packet to DS stream return 1; } |