[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