Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
globalheaders (matroska): reorganize refcounting for readability
  • Loading branch information
perexg committed Sep 17, 2014
1 parent a7f80d2 commit 6df75e8
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
1 change: 0 additions & 1 deletion src/parsers/parser_avc.c
Expand Up @@ -236,6 +236,5 @@ avc_convert_pkt(th_pkt_t *src)
pktbuf_len(src->pkt_payload));

pkt->pkt_payload = pktbuf_make(payload.sb_data, payload.sb_ptr);
pkt_ref_dec(src);
return pkt;
}
12 changes: 7 additions & 5 deletions src/plumbing/globalheaders.c
Expand Up @@ -172,6 +172,7 @@ convertpkt(streaming_start_component_t *ssc, th_pkt_t *pkt)
return avc_convert_pkt(pkt);

default:
pkt_ref_inc(pkt);
return pkt;
}
}
Expand Down Expand Up @@ -217,10 +218,9 @@ gh_hold(globalheaders_t *gh, streaming_message_t *sm)

apply_header(ssc, pkt);

pr = pktref_create(pkt);
TAILQ_INSERT_TAIL(&gh->gh_holdq, pr, pr_link);
pktref_enqueue(&gh->gh_holdq, pkt);

free(sm);
streaming_msg_free(sm);

if(!headers_complete(gh, gh_queue_delay(gh)))
break;
Expand Down Expand Up @@ -273,7 +273,7 @@ gh_hold(globalheaders_t *gh, streaming_message_t *sm)
static void
gh_pass(globalheaders_t *gh, streaming_message_t *sm)
{
th_pkt_t *pkt;
th_pkt_t *pkt, *pkt2;
streaming_start_component_t *ssc;

switch(sm->sm_type) {
Expand Down Expand Up @@ -306,8 +306,10 @@ gh_pass(globalheaders_t *gh, streaming_message_t *sm)
pkt = sm->sm_data;
ssc = streaming_start_component_find_by_index(gh->gh_ss,
pkt->pkt_componentindex);
sm->sm_data = convertpkt(ssc, pkt);
sm->sm_data = pkt2 = convertpkt(ssc, pkt);
streaming_target_deliver2(gh->gh_output, sm);
if (pkt == pkt2)
pkt_ref_dec(pkt);
break;
}
}
Expand Down

0 comments on commit 6df75e8

Please sign in to comment.