Lines Matching refs:sap
45 struct SAPState *sap = s->priv_data;
58 if (sap->last_time && sap->ann && sap->ann_fd) {
59 sap->ann[0] |= 4; /* Session deletion*/
60 ffurl_write(sap->ann_fd, sap->ann, sap->ann_size);
63 av_freep(&sap->ann);
64 ffurl_closep(&sap->ann_fd);
71 struct SAPState *sap = s->priv_data;
118 /* Also known as sap.mcast.net */
178 ret = ffurl_open_whitelist(&sap->ann_fd, url, AVIO_FLAG_WRITE,
186 udp_fd = ffurl_get_file_handle(sap->ann_fd);
200 sap->ann_size = 8192;
201 sap->ann = av_mallocz(sap->ann_size);
202 if (!sap->ann) {
206 sap->ann[pos] = (1 << 5);
209 sap->ann[pos] |= 0x10;
212 sap->ann[pos++] = 0; /* Authentication length */
213 AV_WB16(&sap->ann[pos], av_get_random_seed());
216 memcpy(&sap->ann[pos], &((struct sockaddr_in*)&localaddr)->sin_addr,
221 memcpy(&sap->ann[pos], &((struct sockaddr_in6*)&localaddr)->sin6_addr,
227 av_strlcpy(&sap->ann[pos], "application/sdp", sap->ann_size - pos);
228 pos += strlen(&sap->ann[pos]) + 1;
230 if (av_sdp_create(contexts, s->nb_streams, &sap->ann[pos],
231 sap->ann_size - pos)) {
236 av_log(s, AV_LOG_VERBOSE, "SDP:\n%s\n", &sap->ann[pos]);
237 pos += strlen(&sap->ann[pos]);
238 sap->ann_size = pos;
240 if (sap->ann_size > sap->ann_fd->max_packet_size) {
257 struct SAPState *sap = s->priv_data;
260 if (!sap->last_time || now - sap->last_time > 5000000) {
261 int ret = ffurl_write(sap->ann_fd, sap->ann, sap->ann_size);
265 sap->last_time = now;
272 .name = "sap",