[FFmpeg-devel] mpeg TS encoder PCR algo + looping
Moritz Barsnick
barsnick at gmx.net
Wed Mar 29 01:59:12 EEST 2017
On Tue, Mar 28, 2017 at 18:30:30 +0300, ffmpeg at scil.sinp.msu.ru wrote:
In addition to what Michael wrote:
> Attached patch changes the PCR pid dedication number algo:
[...]
> Also, the title, service name and provider name were corrected in the
> ffmpeg_opt.c: options required in mpegtsenc.c were not present in
> ffmpeg_opt from the genesis, and the only provider was ffmpeg. Look at
> example above (service_provider="provider5").
[...]
> will loop 4 times auu1.wav, while auu.wav forever. So, the streaming
> continues while one prog is finished. Touches all containers.
These should all be separate patches, right?
> + static int init_input_thread(int i)
> + {
> + int ret;
> +
> + if (nb_input_files == 1)
> + return 0;
> +
> + InputFile *f = input_files[i];
Your indentation looks extremely incorrect.
> Only in ffmpeg_git_new: ffmpeg_orig.c
> Only in ffmpeg_git_new: ffmpeg_vvs.c
Did you mean to provide these? Do you know how to use git?
> + if(p_pid)
Whitespace style is incorrect.
> ! /* if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO &&
> service->pcr_pid == 0x1fff) {
> service->pcr_pid = ts_st->pid;
> pcr_st = st;
> }
> + */
If you're removing code, please actually remove it (but explain why,
unless it's obvious).
> + for (j = 0; j < ts->nb_services; j++) {
> + serv = ts->services[j];
> + serv->pcr_type = AVMEDIA_TYPE_UNKNOWN;
ffmpeg code does *NOT* use tabs for indentation.
> ! // av_log(s, AV_LOG_VERBOSE,
> ! // "pcr every %d pkts, sdt every %d, pat/pmt every %d pkts\n",
> ! // service->pcr_packet_period,
> ! // ts->sdt_packet_period, ts->pat_packet_period);
Again, unused code should be removed.
Please read https://ffmpeg.org/developer.html#Submitting-patches-1 (and
the following chapters). It will save you and us a of time. Thanks!
Moritz
More information about the ffmpeg-devel
mailing list