Lines Matching defs:service
58 int sid; /* service ID */
267 MpegTSService *service;
277 service = ts->services[i];
278 put16(&q, service->sid);
279 put16(&q, 0xe000 | service->pmt.pid);
502 static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
509 put16(&q, 0xe000 | service->pcr_pid);
538 AVProgram *program = service->program;
830 *q++ = 0; /* metadata service ID */
847 mpegts_write_section1(&service->pmt, PMT_TID, service->sid, ts->tables_version, 0, 0,
855 MpegTSService *service;
863 service = ts->services[i];
864 put16(&q, service->sid);
871 /* write only one descriptor for the service name and provider */
876 putbuf(&q, service->provider_name, service->provider_name[0] + 1);
877 putbuf(&q, service->name, service->name[0] + 1);
998 MpegTSService *service;
1012 service = av_mallocz(sizeof(MpegTSService));
1013 if (!service)
1015 service->pmt.pid = ts->pmt_start_pid + ts->nb_services;
1016 service->sid = sid;
1017 service->pcr_pid = 0x1fff;
1018 if (encode_str8(service->provider_name, provider_name) < 0 ||
1019 encode_str8(service->name, service_name) < 0) {
1020 av_log(s, AV_LOG_ERROR, "Too long service or provider name\n");
1023 if (av_dynarray_add_nofree(&ts->services, &ts->nb_services, service) < 0)
1026 service->pmt.write_packet = section_write_packet;
1027 service->pmt.opaque = s;
1028 service->pmt.cc = 15;
1029 service->pmt.discontinuity= ts->flags & MPEGTS_FLAG_DISCONT;
1030 service->program = program;
1032 return service;
1034 av_free(service);
1074 MpegTSService *service = ts->services[i];
1076 AVProgram *program = service->program;
1090 service->pcr_pid = ts_st->pid;
1092 av_log(s, AV_LOG_VERBOSE, "service %i using PCR in pid=%i, pcr_period=%"PRId64"ms\n",
1093 service->sid, service->pcr_pid, av_rescale(ts_st->pcr_period, 1000, PCR_TIME_BASE));
1134 /* allocate a single DVB service */
2215 MpegTSService *service;
2232 service = ts->services[i];
2233 av_freep(&service);