uint8_t pa_rtp_payload_from_sample_spec(const pa_sample_spec *ss) {
pa_assert(ss);
- if (ss->format == PA_SAMPLE_ULAW && ss->rate == 8000 && ss->channels == 1)
- return 0;
- if (ss->format == PA_SAMPLE_ALAW && ss->rate == 8000 && ss->channels == 1)
- return 8;
if (ss->format == PA_SAMPLE_S16BE && ss->rate == 44100 && ss->channels == 2)
return 10;
if (ss->format == PA_SAMPLE_S16BE && ss->rate == 44100 && ss->channels == 1)
pa_assert(ss);
switch (payload) {
- case 0:
- ss->channels = 1;
- ss->format = PA_SAMPLE_ULAW;
- ss->rate = 8000;
- break;
-
- case 8:
- ss->channels = 1;
- ss->format = PA_SAMPLE_ALAW;
- ss->rate = 8000;
- break;
-
case 10:
ss->channels = 2;
ss->format = PA_SAMPLE_S16BE;
if (!pa_sample_spec_valid(ss))
return 0;
- return
- ss->format == PA_SAMPLE_U8 ||
- ss->format == PA_SAMPLE_ALAW ||
- ss->format == PA_SAMPLE_ULAW ||
- ss->format == PA_SAMPLE_S16BE;
+ return ss->format == PA_SAMPLE_S16BE;
}
void pa_rtp_context_destroy(pa_rtp_context *c) {
switch (f) {
case PA_SAMPLE_S16BE:
return "L16";
- case PA_SAMPLE_U8:
- return "L8";
- case PA_SAMPLE_ALAW:
- return "PCMA";
- case PA_SAMPLE_ULAW:
- return "PCMU";
default:
return NULL;
}
if (pa_streq(s, "L16"))
return PA_SAMPLE_S16BE;
- else if (pa_streq(s, "L8"))
- return PA_SAMPLE_U8;
- else if (pa_streq(s, "PCMA"))
- return PA_SAMPLE_ALAW;
- else if (pa_streq(s, "PCMU"))
- return PA_SAMPLE_ULAW;
else
return PA_SAMPLE_INVALID;
}
if (pa_startswith(c, "L16/")) {
ss->format = PA_SAMPLE_S16BE;
c += 4;
- } else if (pa_startswith(c, "L8/")) {
- ss->format = PA_SAMPLE_U8;
- c += 3;
- } else if (pa_startswith(c, "PCMA/")) {
- ss->format = PA_SAMPLE_ALAW;
- c += 5;
- } else if (pa_startswith(c, "PCMU/")) {
- ss->format = PA_SAMPLE_ULAW;
- c += 5;
} else
return NULL;