summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-23 21:05:28 +0000
committerods15 <ods15@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-23 21:05:28 +0000
commitb45efb0eeba18af90d6c7f02d4cf5fc312ba0368 (patch)
treede2c2066985e932bdb73b0171ac42c00d6d780bf /libmpdemux
parentdcc0b8e177364e88473f11833775bc88a07ec241 (diff)
downloadmpv-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')
-rw-r--r--libmpdemux/demux_nut.c48
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;
}