From a5316c7a71762e559597b5804924f872c317443f Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Sat, 29 Oct 2011 20:58:00 +0300 Subject: demux_ts: splitted update_extra_info() --- src/demuxers/demux_ts.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/demuxers') 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)) -- cgit v1.2.3 From 9b7a019a6b3b8b7a8b04adff159f528ee8b025a1 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Wed, 2 Nov 2011 09:30:37 +0200 Subject: demux_ts: removed write-only variable (content) from demux_ts_media --- src/demuxers/demux_ts.c | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'src/demuxers') diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 0ced0878a..a5c715c62 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -285,7 +285,6 @@ typedef struct { unsigned int pid; fifo_buffer_t *fifo; - uint8_t *content; uint32_t size; uint32_t type; int64_t pts; @@ -885,7 +884,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, packet_len -= header_len + 9; if (m->descriptor_tag == STREAM_VIDEO_VC1) { - m->content = p; m->size = packet_len; m->type = BUF_VIDEO_VC1; return 1; @@ -894,7 +892,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, if (m->descriptor_tag == HDMV_SPU_BITMAP) { long payload_len = ((buf[4] << 8) | buf[5]) - header_len - 3; - m->content = p; m->size = packet_len; m->type |= BUF_SPU_HDMV; m->buf->decoder_info[2] = payload_len; @@ -916,27 +913,23 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, * For audio streams, m->type already contains the stream no. */ if(m->descriptor_tag == HDMV_AUDIO_84_EAC3) { - m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_EAC3; return 1; } else if(m->descriptor_tag == STREAM_AUDIO_AC3) { /* ac3 - raw */ - m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_A52; return 1; } else if (m->descriptor_tag == HDMV_AUDIO_83_TRUEHD) { /* TODO: separate AC3 and TrueHD streams ... */ - m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_A52; return 1; } else if (m->descriptor_tag == HDMV_AUDIO_82_DTS || m->descriptor_tag == HDMV_AUDIO_86_DTS_HD_MA ) { - m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_DTS; return 1; @@ -950,7 +943,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, return 0; } - m->content = p + 4; m->size = packet_len - 4; m->type |= BUF_AUDIO_LPCM_BE; @@ -965,14 +957,12 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, /* DVBSUB */ long payload_len = ((buf[4] << 8) | buf[5]) - header_len - 3; - m->content = p; m->size = packet_len; m->type |= BUF_SPU_DVB; m->buf->decoder_info[2] = payload_len; return 1; } else if (p[0] == 0x0B && p[1] == 0x77) { /* ac3 - syncword */ - m->content = p; m->size = packet_len; m->type |= BUF_AUDIO_A52; return 1; @@ -980,7 +970,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, } else if ((p[0] & 0xE0) == 0x20) { spu_id = (p[0] & 0x1f); - m->content = p+1; m->size = packet_len-1; m->type = BUF_SPU_DVD + spu_id; return 1; @@ -990,7 +979,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, return 0; } - m->content = p+4; m->size = packet_len - 4; m->type |= BUF_AUDIO_A52; return 1; @@ -1012,7 +1000,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, return 0; } - m->content = p+pcm_offset; m->size = packet_len-pcm_offset; m->type |= BUF_AUDIO_LPCM_BE; return 1; @@ -1021,7 +1008,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, } else if ((stream_id & 0xf0) == 0xe0) { - m->content = p; m->size = packet_len; switch (m->descriptor_tag) { case ISO_11172_VIDEO: @@ -1047,7 +1033,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, } else if ((stream_id & 0xe0) == 0xc0) { - m->content = p; m->size = packet_len; switch (m->descriptor_tag) { case ISO_11172_AUDIO: -- cgit v1.2.3 From d8d93da808406dc0bbb1fd2ab2ed63afe1d498d9 Mon Sep 17 00:00:00 2001 From: "M.A. Brand" Date: Fri, 4 Nov 2011 00:06:16 +0100 Subject: Fix order of header to avoid build failure due to conflicting definitions of INT32 [Note: name assumed. - DS] --HG-- extra : rebase_source : 70c19c8d941ab5c8ad25b1a62c023849af8f9ab1 --- src/demuxers/demux_mng.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/demuxers') diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c index 2fccd0b9e..bf4dfec4e 100644 --- a/src/demuxers/demux_mng.c +++ b/src/demuxers/demux_mng.c @@ -38,8 +38,6 @@ #undef HAVE_STDLIB_H #endif -#include - #define LOG_MODULE "demux_mng" #define LOG_VERBOSE /* @@ -50,6 +48,8 @@ #include "xineutils.h" #include "demux.h" +#include + typedef struct { demux_plugin_t demux_plugin; -- cgit v1.2.3