summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-09-27 15:05:41 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-09-27 15:05:41 +0300
commit5eafe2906b8b141be1a8b5069814cd3beefa8ed8 (patch)
tree9dfea3b098df11cfbd9cb1b378571bb2ccd1ff8f
parentde2a2b8891169c9c8f373d071c9a17e31ffd7180 (diff)
downloadxine-lib-5eafe2906b8b141be1a8b5069814cd3beefa8ed8.tar.gz
xine-lib-5eafe2906b8b141be1a8b5069814cd3beefa8ed8.tar.bz2
demux_ts: removed sending of preview/header buffers.
Now all used decoders work without header/preview buffers.
-rw-r--r--src/demuxers/demux_ts.c46
1 files changed, 1 insertions, 45 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index b5bf2309d..c606d52a8 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -270,7 +270,6 @@ typedef struct {
int64_t pts;
buf_element_t *buf;
unsigned int counter;
- unsigned int numPreview;
uint16_t descriptor_tag; /* +0x100 for PES stream IDs (no available TS descriptor tag?) */
int corrupted_pes;
uint32_t buffered_bytes;
@@ -952,15 +951,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m,
return 0 ;
}
-
-/*
- * Track how many of these types of packets we have seen in this stream.
- */
-static inline unsigned get_preview_frame_number(unsigned *numPreview, unsigned limit) {
- unsigned preview = *numPreview;
- return (preview < limit) ? ++(*numPreview) : preview;
-}
-
/*
* buffer arriving pes data
*/
@@ -992,44 +982,11 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts,
if (pus) { /* new PES packet */
if (m->buffered_bytes) {
- unsigned previewLimit = 0;
m->buf->content = m->buf->mem;
m->buf->size = m->buffered_bytes;
m->buf->type = m->type;
-
- switch (m->type & BUF_MAJOR_MASK) {
- case BUF_SPU_BASE:
- if( (m->buf->type & (BUF_MAJOR_MASK | BUF_DECODER_MASK)) == BUF_SPU_DVB ) {
- /* TODO: DVBSUB handling needed? */
- }
- break;
-
- case BUF_VIDEO_BASE:
- previewLimit = 5;
- break;
-
- case BUF_AUDIO_BASE:
- previewLimit = 2;
- break;
-
- default:
- break;
- }
-
- if (previewLimit != 0) {
- unsigned numPreview;
-
- numPreview = get_preview_frame_number(&m->numPreview, previewLimit);
-
- if (numPreview == 1)
- m->buf->decoder_flags = BUF_FLAG_HEADER | BUF_FLAG_FRAME_END;
- else if (numPreview < previewLimit)
- m->buf->decoder_flags = BUF_FLAG_PREVIEW;
- else
- m->buf->decoder_flags |= BUF_FLAG_FRAME_END;
- }
-
+ m->buf->decoder_flags |= BUF_FLAG_FRAME_END;
m->buf->pts = m->pts;
m->buf->decoder_info[0] = 1;
@@ -1110,7 +1067,6 @@ static void demux_ts_pes_new(demux_ts_t*this,
if (m->buf != NULL) m->buf->free_buffer(m->buf);
m->buf = NULL;
m->counter = INVALID_CC;
- m->numPreview = 0;
m->descriptor_tag = descriptor;
m->corrupted_pes = 1;
m->buffered_bytes = 0;