streaming_queue_t *sq = &de->de_sq;
streaming_message_t *sm;
int run = 1;
+ th_pkt_t *pkt;
pthread_mutex_lock(&sq->sq_mutex);
switch(sm->sm_type) {
case SMT_PACKET:
- if(dispatch_clock > de->de_start - (60 * de->de_start_extra))
- dvr_thread_new_pkt(de, sm->sm_data);
- pkt_ref_dec(sm->sm_data);
+ pkt = sm->sm_data;
+ if(dispatch_clock > de->de_start - (60 * de->de_start_extra)) {
+ pkt = pkt_merge_global(pkt);
+ dvr_thread_new_pkt(de, pkt);
+ }
+ pkt_ref_dec(pkt);
break;
case SMT_START:
char txt[100];
int64_t pts, dts;
- pkt = pkt_merge_global(pkt);
-
buf = pkt->pkt_payload;
bufsize = pkt->pkt_payloadlen;
LIST_FOREACH(drs, &de->de_streams, drs_link)