comparison rtpdec.c @ 6187:c4c35a9d4ab5 libavformat

rtpdec: Add generic function for iterating over FMTP configuration lines This will be used for cleaning up code that is common among RTP depacketizers. Patch by Josh Allmann, joshua dot allmann at gmail
author mstorsjo
date Mon, 28 Jun 2010 11:24:12 +0000
parents 736165b749f8
children da9998b48dff
comparison
equal deleted inserted replaced
6186:83978c1b9739 6187:c4c35a9d4ab5
529 if (!strcmp(ff_rtp_enc_name(s->payload_type), "MP2T")) { 529 if (!strcmp(ff_rtp_enc_name(s->payload_type), "MP2T")) {
530 ff_mpegts_parse_close(s->ts); 530 ff_mpegts_parse_close(s->ts);
531 } 531 }
532 av_free(s); 532 av_free(s);
533 } 533 }
534
535 int ff_parse_fmtp(AVStream *stream, PayloadContext *data, const char *p,
536 int (*parse_fmtp)(AVStream *stream,
537 PayloadContext *data,
538 char *attr, char *value))
539 {
540 char attr[256];
541 char value[4096];
542 int res;
543
544 // remove protocol identifier
545 while (*p && *p == ' ') p++; // strip spaces
546 while (*p && *p != ' ') p++; // eat protocol identifier
547 while (*p && *p == ' ') p++; // strip trailing spaces
548
549 while (ff_rtsp_next_attr_and_value(&p,
550 attr, sizeof(attr),
551 value, sizeof(value))) {
552
553 res = parse_fmtp(stream, data, attr, value);
554 if (res < 0)
555 return res;
556 }
557 return 0;
558 }