Mercurial > libavformat.hg
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 } |