Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Partial revert "htsp: another fix for H264 - headers merge"
This reverts commit 33792bf.
  • Loading branch information
perexg committed Nov 19, 2014
1 parent 207fcbf commit b70fa32
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/parsers/parsers.c
Expand Up @@ -1230,18 +1230,27 @@ parse_h264(service_t *t, elementary_stream_t *st, size_t len,
if (st->es_incomplete)
return 4;
th_pkt_t *pkt = st->es_curpkt;
size_t metalen = 0;

if(pkt != NULL) {
if(st->es_global_data) {
pkt->pkt_meta = pktbuf_make(st->es_global_data,
st->es_global_data_len);
metalen = st->es_global_data_len);
st->es_global_data = NULL;
st->es_global_data_len = 0;
}

pkt->pkt_payload = pktbuf_make(st->es_buf.sb_data,
st->es_buf.sb_ptr - 4);
sbuf_steal_data(&st->es_buf);
if (metalen) {
pkt->pkt_payload = pktbuf_alloc(NULL, metalen + st->es_buf.sb_ptr - 4);
memcpy(pktbuf_ptr(pkt->pkt_payload), pktbuf_ptr(pkt->pkt_meta), metalen);
memcpy(pktbuf_ptr(pkt->pkt_payload) + metalen, st->es_buf.sb_data, st->es_buf.sb_ptr - 4);
sbuf_reset(&st->es_buf, 16000);
} else {
pkt->pkt_payload = pktbuf_make(st->es_buf.sb_data,
st->es_buf.sb_ptr - 4);
sbuf_steal_data(&st->es_buf);
}

parser_deliver(t, st, pkt, st->es_buf.sb_err);

st->es_curpkt = NULL;
Expand Down

0 comments on commit b70fa32

Please sign in to comment.