summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-29 20:58:00 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-29 20:58:00 +0300
commita5316c7a71762e559597b5804924f872c317443f (patch)
tree86eabb184af4681da9a6f9fad790128fa3b74934 /src
parent333a24be88d97f28712be0f899d33540c9b1b903 (diff)
downloadxine-lib-a5316c7a71762e559597b5804924f872c317443f.tar.gz
xine-lib-a5316c7a71762e559597b5804924f872c317443f.tar.bz2
demux_ts: splitted update_extra_info()
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_ts.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index f2276b93e..0ced0878a 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -1079,6 +1079,20 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m,
return 0 ;
}
+static void update_extra_info(demux_ts_t *this, demux_ts_media *m)
+{
+ off_t length = this->input->get_length (this->input);
+
+ /* cache frame position */
+
+ if (length > 0) {
+ m->input_normpos = (double)this->frame_pos * 65535.0 / length;
+ }
+ if (this->rate) {
+ m->input_time = this->frame_pos * 1000 / this->rate;
+ }
+}
+
/*
* buffer arriving pes data
*/
@@ -1128,14 +1142,7 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts,
memcpy(m->buf->mem, ts+len-m->size, m->size);
m->buf->size = m->size;
- /* cache frame position */
- off_t length = this->input->get_length (this->input);
- if (length > 0) {
- m->input_normpos = (double)this->frame_pos * 65535.0 / length;
- }
- if (this->rate) {
- m->input_time = this->frame_pos * 1000 / this->rate;
- }
+ update_extra_info(this, m);
/* rate estimation */
if ((this->tbre_pid == INVALID_PID) && (this->audio_fifo == m->fifo))