diff options
author | Bastien Nocera <hadess@users.sourceforge.net> | 2003-10-07 19:42:00 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@users.sourceforge.net> | 2003-10-07 19:42:00 +0000 |
commit | f17eac40de3f8121430d63aa3ab2be10030800a4 (patch) | |
tree | 219fbf3bbd143bc4d7a745c2060f8e9955c03f6a /src | |
parent | 802ace1d951f2cb6e581287f038e4b739c54f2ed (diff) | |
download | xine-lib-f17eac40de3f8121430d63aa3ab2be10030800a4.tar.gz xine-lib-f17eac40de3f8121430d63aa3ab2be10030800a4.tar.bz2 |
- send 100% (completion) event when the index is finished building
CVS patchset: 5466
CVS date: 2003/10/07 19:42:00
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/demux_avi.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c index 841f3b2c1..0737edd71 100644 --- a/src/demuxers/demux_avi.c +++ b/src/demuxers/demux_avi.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_avi.c,v 1.168 2003/10/06 15:46:20 mroi Exp $ + * $Id: demux_avi.c,v 1.169 2003/10/07 19:42:00 hadess Exp $ * * demultiplexer for avi streams * @@ -416,6 +416,7 @@ static long idx_grow(demux_avi_t *this, long (*stopper)(demux_avi_t *, void *), uint8_t data2[4]; off_t savepos = this->input->seek(this->input, 0, SEEK_CUR); off_t curtagoffset; + int sent_event = 0; this->input->seek(this->input, this->idx_grow.nexttagoffset, SEEK_SET); curtagoffset = this->idx_grow.nexttagoffset; @@ -441,6 +442,8 @@ static long idx_grow(demux_avi_t *this, long (*stopper)(demux_avi_t *, void *), event.data_length = sizeof (xine_progress_data_t); xine_event_send (this->stream, &event); + + sent_event = 1; } if (this->input->read(this->input, data, 8) != 8) @@ -526,6 +529,21 @@ static long idx_grow(demux_avi_t *this, long (*stopper)(demux_avi_t *, void *), break; } + if (sent_event == 1) { + /* send event to frontend about index generation progress */ + xine_event_t event; + xine_progress_data_t prg; + + prg.description = _("Restoring index..."); + prg.percent = 100; + + event.type = XINE_EVENT_PROGRESS; + event.data = &prg; + event.data_length = sizeof (xine_progress_data_t); + + xine_event_send (this->stream, &event); + } + this->input->seek (this->input, savepos, SEEK_SET); if (retval < 0) retval = -1; |