+ if(filter(*data,"a=MaxBitRate:integer;",&buf, BUFLEN)) {
+ desc->max_bit_rate=atoi(buf);
+ if (!desc->avg_bit_rate)
+ desc->avg_bit_rate=desc->max_bit_rate;
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=MaxPacketSize:integer;",&buf, BUFLEN)) {
+ desc->max_packet_size=atoi(buf);
+ if (!desc->avg_packet_size)
+ desc->avg_packet_size=desc->max_packet_size;
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=StartTime:integer;",&buf, BUFLEN)) {
+ desc->start_time=atoi(buf);
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=Preroll:integer;",&buf, BUFLEN)) {
+ desc->preroll=atoi(buf);
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=length:npt=",&buf, BUFLEN)) {
+ desc->duration=(uint32_t)(atof(buf)*1000);
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=StreamName:string;",&buf, BUFLEN)) {
+ desc->stream_name=strdup(buf);
+ desc->stream_name_size=strlen(desc->stream_name);
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=mimetype:string;",&buf, BUFLEN)) {
+ desc->mime_type=strdup(buf);
+ desc->mime_type_size=strlen(desc->mime_type);
+ handled=1;
+ *data=nl(*data);
+ }
+ if(filter(*data,"a=OpaqueData:buffer;",&buf, BUFLEN)) {
+ desc->mlti_data_size =
+ vlc_b64_decode_binary_to_buffer(decoded, BUFLEN, buf );
+ if ( desc->mlti_data_size ) {
+ desc->mlti_data = malloc(desc->mlti_data_size);
+ memcpy(desc->mlti_data, decoded, desc->mlti_data_size);
+ handled=1;
+ *data=nl(*data);
+ lprintf("mlti_data_size: %i\n", desc->mlti_data_size);
+ }
+ }
+ if(filter(*data,"a=ASMRuleBook:string;",&buf, BUFLEN)) {
+ desc->asm_rule_book=strdup(buf);
+ handled=1;
+ *data=nl(*data);