Add support for storing global headers in streaming start message

Add streaming_target_deliver2()
This commit is contained in:
Andreas Öman 2010-06-15 05:56:40 +00:00
parent 5818b975e5
commit f5c8696ff2
2 changed files with 22 additions and 0 deletions

View file

@ -197,10 +197,15 @@ streaming_msg_clone(streaming_message_t *src)
void
streaming_start_unref(streaming_start_t *ss)
{
int i;
if((atomic_add(&ss->ss_refcount, -1)) != 1)
return;
transport_source_info_free(&ss->ss_si);
for(i = 0; i < ss->ss_num_components; i++)
free(ss->ss_components[i].ssc_global_header);
free(ss);
}
@ -243,6 +248,17 @@ streaming_msg_free(streaming_message_t *sm)
free(sm);
}
/**
*
*/
void
streaming_target_deliver2(streaming_target_t *st, streaming_message_t *sm)
{
if(st->st_reject_filter & SMT_TO_MASK(sm->sm_type))
streaming_msg_free(sm);
else
st->st_cb(st->st_opaque, sm);
}
/**
*

View file

@ -32,6 +32,10 @@ typedef struct streaming_start_component {
uint16_t ssc_ancillary_id;
int16_t ssc_width;
int16_t ssc_height;
uint8_t *ssc_global_header;
int ssc_global_header_len;
} streaming_start_component_t;
@ -83,6 +87,8 @@ streaming_message_t *streaming_msg_create_pkt(th_pkt_t *pkt);
#define streaming_target_deliver(st, sm) ((st)->st_cb((st)->st_opaque, (sm)))
void streaming_target_deliver2(streaming_target_t *st, streaming_message_t *sm);
void streaming_start_unref(streaming_start_t *ss);
int streaming_pad_probe_type(streaming_pad_t *sp,