Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build error on arch #173

Open
menkaur opened this issue Jan 7, 2025 · 2 comments
Open

build error on arch #173

menkaur opened this issue Jan 7, 2025 · 2 comments

Comments

@menkaur
Copy link

menkaur commented Jan 7, 2025

I'm trying to build this on arch, and it fails with following errors:

mpeg2dec.c:578:70: error: ‘AVCodecParameters’ has no member named ‘channels’
  578 |                 *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
      |                                                                      ^~
mpeg2dec.c:579:66: error: ‘AVCodecParameters’ has no member named ‘channels’
  579 |                 avg_volume += abs(volume / is->audio_st->codecpar->channels);
      |                                                                  ^~
mpeg2dec.c:595:70: error: ‘AVCodecParameters’ has no member named ‘channels’
  595 |                 *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
      |                                                                      ^~
mpeg2dec.c:596:66: error: ‘AVCodecParameters’ has no member named ‘channels’
  596 |                 avg_volume += abs(volume / is->audio_st->codecpar->channels);
      |                                                                  ^~
mpeg2dec.c: In function ‘audio_packet_process’:
mpeg2dec.c:773:63: error: ‘AVFrame’ has no member named ‘channels’
  773 |         data_size = av_samples_get_buffer_size(NULL, is->frame->channels,
      |                                                               ^~
mpeg2dec.c:778:92: error: ‘AVFrame’ has no member named ‘channels’
  778 |             sound_to_frames(is, (short **)is->frame->data, is->frame->nb_samples ,is->frame->channels, is->frame->format);
      |                                                                                            ^~
mpeg2dec.c:781:38: error: ‘AVFrame’ has no member named ‘channels’
  781 |                            (is->frame->channels * is->frame->sample_rate * av_get_bytes_per_sample(is->frame->format));
      |                                      ^~
mpeg2dec.c: In function ‘DoSeekRequest’:
mpeg2dec.c:1036:36: error: ‘const struct AVInputFormat’ has no member named ‘read_seek’
 1036 |         if (is->pFormatCtx->iformat->read_seek)
      |                                    ^~
mpeg2dec.c:1040:40: error: ‘const struct AVInputFormat’ has no member named ‘read_timestamp’
 1040 |         else if(is->pFormatCtx->iformat->read_timestamp)
      |                                        ^~

Here is the complete log:

/autogen.sh                                                                        23:10:22
Preparing the Comskip build system...please wait

Found GNU Autoconf version 2.72
Found GNU Automake version 1.17
Found GNU Libtool version 2.5.3-dirty

Automatically preparing build ... done

The Comskip build system is now prepared.  To build here, run:
  ./configure
  make
❰menkaur❙~/github/Comskip(git:master)❱✔≻ ./configure                                                                         23:10:57
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for fmax in -lm... yes
checking for sem_post in -lpthread... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking whether host is win32... no
checking whether host is darwin... no
checking whether to enable donator features... yes
checking whether to enable the graphical user interface... if possible
checking whether to build a statically linked binary... no
checking whether to build with debugging options enabled... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for argtable2 >= 2.12... yes
checking for libavutil >= 54.7 libavformat >= 57.33.100 libavcodec >= 57.37.100 libswscale >= 5.0... yes
checking for sdl2 >= 2.0.0... yes
checking whether we can build the graphical user interface... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
❰menkaur❙~/github/Comskip(git:master)❱✔≻ make                                                                                23:11:02
gcc -DPACKAGE_NAME=\"Comskip\" -DPACKAGE_TARNAME=\"comskip\" -DPACKAGE_VERSION=\"0.82.011\" -DPACKAGE_STRING=\"Comskip\ 0.82.011\" -DPACKAGE_BUGREPORT=\"https://github.com/erikkaashoek/Comskip/issues\" -DPACKAGE_URL=\"\" -DPACKAGE=\"comskip\" -DVERSION=\"0.82.011\" -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I.  -Wall   -DPROCESS_CC -DDONATOR  -g -O2  -MT comskip-comskip.o -MD -MP -MF .deps/comskip-comskip.Tpo -c -o comskip-comskip.o `test -f 'comskip.c' || echo './'`comskip.c
In file included from /usr/include/unistd.h:25,
                 from platform.h:6,
                 from comskip.c:16:
/usr/include/features.h:197:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
  197 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      |   ^~~~~~~
comskip.c: In function ‘OpenOutputFiles’:
comskip.c:6128:30: warning: ‘.chap’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6128 |         sprintf(filename, "%s.chap", outbasename);
      |                              ^~~~~
comskip.c:6128:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6128 |         sprintf(filename, "%s.chap", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6145:30: warning: ‘.cut’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6145 |         sprintf(filename, "%s.cut", outbasename);
      |                              ^~~~
comskip.c:6145:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6145 |         sprintf(filename, "%s.cut", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6160:30: warning: ‘.plist’ directive writing 6 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6160 |         sprintf(filename, "%s.plist", outbasename);
      |                              ^~~~~~
comskip.c:6160:9: note: ‘sprintf’ output between 7 and 262 bytes into a destination of size 256
 6160 |         sprintf(filename, "%s.plist", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6177:30: warning: ‘.incommercial’ directive writing 13 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6177 |         sprintf(filename, "%s.incommercial", workbasename);
      |                              ^~~~~~~~~~~~~
comskip.c:6177:9: note: ‘sprintf’ output between 14 and 269 bytes into a destination of size 256
 6177 |         sprintf(filename, "%s.incommercial", workbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6193:30: warning: ‘.chp’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6193 |         sprintf(filename, "%s.chp", outbasename);
      |                              ^~~~
comskip.c:6193:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6193 |         sprintf(filename, "%s.chp", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6209:30: warning: ‘.scf’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6209 |         sprintf(filename, "%s.scf", outbasename);
      |                              ^~~~
comskip.c:6209:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6209 |         sprintf(filename, "%s.scf", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6224:30: warning: ‘.edl’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6224 |         sprintf(filename, "%s.edl", outbasename);
      |                              ^~~~
comskip.c:6224:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6224 |         sprintf(filename, "%s.edl", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6239:30: warning: ‘.ffmeta’ directive writing 7 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6239 |         sprintf(filename, "%s.ffmeta", outbasename);
      |                              ^~~~~~~
comskip.c:6239:9: note: ‘sprintf’ output between 8 and 263 bytes into a destination of size 256
 6239 |         sprintf(filename, "%s.ffmeta", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6254:30: warning: ‘.ffsplit’ directive writing 8 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6254 |         sprintf(filename, "%s.ffsplit", outbasename);
      |                              ^~~~~~~~
comskip.c:6254:9: note: ‘sprintf’ output between 9 and 264 bytes into a destination of size 256
 6254 |         sprintf(filename, "%s.ffsplit", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6284:30: warning: ‘.chap’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6284 |         sprintf(filename, "%s.chap", outbasename);
      |                              ^~~~~
comskip.c:6284:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6284 |         sprintf(filename, "%s.chap", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6300:30: warning: ‘.edlp’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6300 |         sprintf(filename, "%s.edlp", outbasename);
      |                              ^~~~~
comskip.c:6300:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6300 |         sprintf(filename, "%s.edlp", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6316:30: warning: ‘.bcf’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6316 |         sprintf(filename, "%s.bcf", outbasename);
      |                              ^~~~
comskip.c:6316:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6316 |         sprintf(filename, "%s.bcf", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6331:30: warning: ‘.edlx’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6331 |         sprintf(filename, "%s.edlx", outbasename);
      |                              ^~~~~
comskip.c:6331:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6331 |         sprintf(filename, "%s.edlx", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6357:30: warning: ‘.VPrj’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6357 |         sprintf(filename, "%s.VPrj", outbasename);
      |                              ^~~~~
comskip.c:6357:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6357 |         sprintf(filename, "%s.VPrj", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6407:30: warning: ‘.VPrj’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6407 |         sprintf(filename, "%s.VPrj", outbasename);
      |                              ^~~~~
comskip.c:6407:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 6407 |         sprintf(filename, "%s.VPrj", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6436:30: warning: ‘.chapters.xml’ directive writing 13 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6436 |         sprintf(filename, "%s.chapters.xml", mpegfilename);
      |                              ^~~~~~~~~~~~~
comskip.c:6436:9: note: ‘sprintf’ output between 14 and 269 bytes into a destination of size 256
 6436 |         sprintf(filename, "%s.chapters.xml", mpegfilename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6453:30: warning: ‘.cpf’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6453 |         sprintf(filename, "%s.cpf", outbasename);
      |                              ^~~~
comskip.c:6453:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6453 |         sprintf(filename, "%s.cpf", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6464:39: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 6464 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                                       ^~                        ~~~~~~~~~~
comskip.c:6464:17: note: ‘sprintf’ output between 2 and 512 bytes into a destination of size 256
 6464 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6481:30: warning: ‘.vcf’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6481 |         sprintf(filename, "%s.vcf", outbasename);
      |                              ^~~~
comskip.c:6481:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6481 |         sprintf(filename, "%s.vcf", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6492:39: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 6492 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                                       ^~                        ~~~~~~~~~~
comskip.c:6492:17: note: ‘sprintf’ output between 2 and 512 bytes into a destination of size 256
 6492 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6506:30: warning: ‘.vdr’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6506 |         sprintf(filename, "%s.vdr", outbasename);
      |                              ^~~~
comskip.c:6506:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6506 |         sprintf(filename, "%s.vdr", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6517:39: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 6517 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                                       ^~                        ~~~~~~~~~~
comskip.c:6517:17: note: ‘sprintf’ output between 2 and 512 bytes into a destination of size 256
 6517 |                 sprintf(tempstr, "%s%c%s", cwd, PATH_SEPARATOR, inbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6531:30: warning: ‘.Xcl’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6531 |         sprintf(filename, "%s.Xcl", mpegfilename);
      |                              ^~~~
comskip.c:6531:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6531 |         sprintf(filename, "%s.Xcl", mpegfilename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6546:30: warning: ‘.avs’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6546 |         sprintf(filename, "%s.avs", mpegfilename);
      |                              ^~~~
comskip.c:6546:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6546 |         sprintf(filename, "%s.avs", mpegfilename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6565:30: warning: ‘.wme’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6565 |         sprintf(filename, "%s.wme", outbasename);
      |                              ^~~~
comskip.c:6565:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6565 |         sprintf(filename, "%s.wme", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6581:30: warning: ‘.mls’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6581 |         sprintf(filename, "%s.mls", outbasename);
      |                              ^~~~
comskip.c:6581:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6581 |         sprintf(filename, "%s.mls", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6603:30: warning: ‘_mpgtx.bat’ directive writing 10 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6603 |         sprintf(filename, "%s_mpgtx.bat", outbasename);
      |                              ^~~~~~~~~~
comskip.c:6603:9: note: ‘sprintf’ output between 11 and 266 bytes into a destination of size 256
 6603 |         sprintf(filename, "%s_mpgtx.bat", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6620:30: warning: ‘_dvrcut.bat’ directive writing 11 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6620 |         sprintf(filename, "%s_dvrcut.bat", outbasename);
      |                              ^~~~~~~~~~~
comskip.c:6620:9: note: ‘sprintf’ output between 12 and 267 bytes into a destination of size 256
 6620 |         sprintf(filename, "%s_dvrcut.bat", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6639:30: warning: ‘.xml’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6639 |         sprintf(filename, "%s.xml", outbasename);
      |                              ^~~~
comskip.c:6639:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 6639 |         sprintf(filename, "%s.xml", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6655:30: warning: ‘_mpeg2schnitt.bat’ directive writing 17 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6655 |         sprintf(filename, "%s_mpeg2schnitt.bat", inbasename);
      |                              ^~~~~~~~~~~~~~~~~
comskip.c:6655:9: note: ‘sprintf’ output between 18 and 273 bytes into a destination of size 256
 6655 |         sprintf(filename, "%s_mpeg2schnitt.bat", inbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6696:38: warning: ‘.mkvtoolnix.chapters’ directive writing 20 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6696 |                 sprintf(filename, "%s.mkvtoolnix.chapters", outbasename);
      |                                      ^~~~~~~~~~~~~~~~~~~~
comskip.c:6696:17: note: ‘sprintf’ output between 21 and 276 bytes into a destination of size 256
 6696 |                 sprintf(filename, "%s.mkvtoolnix.chapters", outbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:6744:38: warning: ‘.mkvtoolnix.tags’ directive writing 16 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 6744 |                 sprintf(filename, "%s.mkvtoolnix.tags", outbasename);
      |                                      ^~~~~~~~~~~~~~~~
comskip.c:6744:17: note: ‘sprintf’ output between 17 and 272 bytes into a destination of size 256
 6744 |                 sprintf(filename, "%s.mkvtoolnix.tags", outbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘FindString’:
comskip.c:8353:31: warning: ‘%s’ directive writing up to 1023 bytes into a region of size 254 [-Wformat-overflow=]
 8353 |             sprintf(tmp, "%s\"%s\"\n", str2, foundText);
      |                               ^~             ~~~~~~~~~
comskip.c:8353:13: note: ‘sprintf’ output 4 or more bytes (assuming 1027) into a destination of size 255
 8353 |             sprintf(tmp, "%s\"%s\"\n", str2, foundText);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘OutputBlocks’:
comskip.c:7686:30: warning: ‘.VPrj’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 7686 |         sprintf(filename, "%s.VPrj", outbasename);
      |                              ^~~~~
comskip.c:7686:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 7686 |         sprintf(filename, "%s.VPrj", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:7700:30: warning: ‘.VPrj’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 7700 |         sprintf(filename, "%s.VPrj", outbasename);
      |                              ^~~~~
comskip.c:7700:9: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 7700 |         sprintf(filename, "%s.VPrj", outbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:7802:30: warning: ‘.tun’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 7802 |         sprintf(filename, "%s.tun", workbasename);
      |                              ^~~~
comskip.c:7802:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
 7802 |         sprintf(filename, "%s.tun", workbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘AddXDS’:
comskip.c:14839:25: warning: ‘strncpy’ output may be truncated copying 40 bytes from a string of length 1023 [-Wstringop-truncation]
14839 |                         strncpy(XDS_block[XDS_block_count].name, (const char*) &XDSbuf[2], n);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘BuildMasterCommList.part.0’:
comskip.c:4656:30: warning: ‘.ccno’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 4656 |             sprintf(temp, "%s.ccno", workbasename);
      |                              ^~~~~
comskip.c:4656:13: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 4656 |             sprintf(temp, "%s.ccno", workbasename);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:4659:30: warning: ‘.ccyes’ directive writing 6 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 4659 |             sprintf(temp, "%s.ccyes", workbasename);
      |                              ^~~~~~
comskip.c:4659:13: note: ‘sprintf’ output between 7 and 262 bytes into a destination of size 256
 4659 |             sprintf(temp, "%s.ccyes", workbasename);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:4648:30: warning: ‘.ccyes’ directive writing 6 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 4648 |             sprintf(temp, "%s.ccyes", workbasename);
      |                              ^~~~~~
comskip.c:4648:13: note: ‘sprintf’ output between 7 and 262 bytes into a destination of size 256
 4648 |             sprintf(temp, "%s.ccyes", workbasename);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:4651:30: warning: ‘.ccno’ directive writing 5 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
 4651 |             sprintf(temp, "%s.ccno", workbasename);
      |                              ^~~~~
comskip.c:4651:13: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 256
 4651 |             sprintf(temp, "%s.ccno", workbasename);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘BuildCommListAsYouGo’:
comskip.c:16115:38: warning: ‘.edl’ directive writing 4 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
16115 |                 sprintf(filename, "%s.edl", outbasename);
      |                                      ^~~~
comskip.c:16115:17: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 255
16115 |                 sprintf(filename, "%s.edl", outbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:16130:38: warning: ‘.live’ directive writing 5 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
16130 |                 sprintf(filename, "%s.live", outbasename);
      |                                      ^~~~~
comskip.c:16130:17: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 255
16130 |                 sprintf(filename, "%s.live", outbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:16146:38: warning: ‘.xml’ directive writing 4 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
16146 |                 sprintf(filename, "%s.xml", outbasename);
      |                                      ^~~~
comskip.c:16146:17: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 255
16146 |                 sprintf(filename, "%s.xml", outbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:16255:38: warning: ‘.incommercial’ directive writing 13 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
16255 |                 sprintf(filename, "%s.incommercial", workbasename);
      |                                      ^~~~~~~~~~~~~
comskip.c:16255:17: note: ‘sprintf’ output between 14 and 269 bytes into a destination of size 255
16255 |                 sprintf(filename, "%s.incommercial", workbasename);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘LoadSettings’:
comskip.c:9159:39: warning: ‘comskip.ini’ directive writing 11 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 9159 |             sprintf(inifilename, "%s%ccomskip.ini", HomeDir, PATH_SEPARATOR);
      |                                       ^~~~~~~~~~~
comskip.c:9159:13: note: ‘sprintf’ output between 13 and 268 bytes into a destination of size 256
 9159 |             sprintf(inifilename, "%s%ccomskip.ini", HomeDir, PATH_SEPARATOR);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:9162:35: warning: ‘comskip.exe’ directive writing 11 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 9162 |         sprintf(exefilename, "%s%ccomskip.exe", HomeDir, PATH_SEPARATOR);
      |                                   ^~~~~~~~~~~
comskip.c:9162:9: note: ‘sprintf’ output between 13 and 268 bytes into a destination of size 256
 9162 |         sprintf(exefilename, "%s%ccomskip.exe", HomeDir, PATH_SEPARATOR);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c:9163:36: warning: ‘comskip.dictionary’ directive writing 18 bytes into a region of size between 0 and 255 [-Wformat-overflow=]
 9163 |         sprintf(dictfilename, "%s%ccomskip.dictionary", HomeDir, PATH_SEPARATOR);
      |                                    ^~~~~~~~~~~~~~~~~~
comskip.c:9163:9: note: ‘sprintf’ output between 20 and 275 bytes into a destination of size 256
 9163 |         sprintf(dictfilename, "%s%ccomskip.dictionary", HomeDir, PATH_SEPARATOR);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘dump_audio_start’:
comskip.c:16446:26: warning: ‘.mp2’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
16446 |         sprintf(temp, "%s.mp2", workbasename);
      |                          ^~~~
comskip.c:16446:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
16446 |         sprintf(temp, "%s.mp2", workbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comskip.c: In function ‘dump_video_start’:
comskip.c:16468:26: warning: ‘.m2v’ directive writing 4 bytes into a region of size between 1 and 256 [-Wformat-overflow=]
16468 |         sprintf(temp, "%s.m2v", workbasename);
      |                          ^~~~
comskip.c:16468:9: note: ‘sprintf’ output between 5 and 260 bytes into a destination of size 256
16468 |         sprintf(temp, "%s.m2v", workbasename);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/comskip-comskip.Tpo .deps/comskip-comskip.Po
gcc -DPACKAGE_NAME=\"Comskip\" -DPACKAGE_TARNAME=\"comskip\" -DPACKAGE_VERSION=\"0.82.011\" -DPACKAGE_STRING=\"Comskip\ 0.82.011\" -DPACKAGE_BUGREPORT=\"https://github.com/erikkaashoek/Comskip/issues\" -DPACKAGE_URL=\"\" -DPACKAGE=\"comskip\" -DVERSION=\"0.82.011\" -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -I.  -Wall   -DPROCESS_CC -DDONATOR  -g -O2  -MT comskip-mpeg2dec.o -MD -MP -MF .deps/comskip-mpeg2dec.Tpo -c -o comskip-mpeg2dec.o `test -f 'mpeg2dec.c' || echo './'`mpeg2dec.c
In file included from /usr/include/unistd.h:25,
                 from platform.h:6,
                 from mpeg2dec.c:24:
/usr/include/features.h:197:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
  197 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      |   ^~~~~~~
mpeg2dec.c: In function ‘sound_to_frames’:
mpeg2dec.c:540:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  540 |     if (fabs(base_apts - (is->audio_clock - ((double)audio_samples /(double)(is->audio_st->codecpar->sample_rate))))> 0.0001)
      |     ^~
mpeg2dec.c:542:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  542 |         if (ALIGN_AC3_PACKETS && is->audio_st->codecpar->codec_id == AV_CODEC_ID_AC3) {
      |         ^~
mpeg2dec.c:578:70: error: ‘AVCodecParameters’ has no member named ‘channels’
  578 |                 *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
      |                                                                      ^~
mpeg2dec.c:579:66: error: ‘AVCodecParameters’ has no member named ‘channels’
  579 |                 avg_volume += abs(volume / is->audio_st->codecpar->channels);
      |                                                                  ^~
mpeg2dec.c:595:70: error: ‘AVCodecParameters’ has no member named ‘channels’
  595 |                 *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
      |                                                                      ^~
mpeg2dec.c:596:66: error: ‘AVCodecParameters’ has no member named ‘channels’
  596 |                 avg_volume += abs(volume / is->audio_st->codecpar->channels);
      |                                                                  ^~
mpeg2dec.c: In function ‘audio_packet_process’:
mpeg2dec.c:773:63: error: ‘AVFrame’ has no member named ‘channels’
  773 |         data_size = av_samples_get_buffer_size(NULL, is->frame->channels,
      |                                                               ^~
mpeg2dec.c:778:92: error: ‘AVFrame’ has no member named ‘channels’
  778 |             sound_to_frames(is, (short **)is->frame->data, is->frame->nb_samples ,is->frame->channels, is->frame->format);
      |                                                                                            ^~
mpeg2dec.c:781:38: error: ‘AVFrame’ has no member named ‘channels’
  781 |                            (is->frame->channels * is->frame->sample_rate * av_get_bytes_per_sample(is->frame->format));
      |                                      ^~
mpeg2dec.c: In function ‘DoSeekRequest’:
mpeg2dec.c:1036:36: error: ‘const struct AVInputFormat’ has no member named ‘read_seek’
 1036 |         if (is->pFormatCtx->iformat->read_seek)
      |                                    ^~
mpeg2dec.c:1040:40: error: ‘const struct AVInputFormat’ has no member named ‘read_timestamp’
 1040 |         else if(is->pFormatCtx->iformat->read_timestamp)
      |                                        ^~
mpeg2dec.c: In function ‘video_packet_process’:
mpeg2dec.c:1281:12: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1281 |            frame_delay = av_q2d(is->dec_ctx->time_base) * is->dec_ctx->ticks_per_frame ;
      |            ^~~~~~~~~~~
In file included from mpeg2dec.c:38:
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c:1401:17: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1401 |                 if (!ISSAME(3*frame_delay/ is->dec_ctx->ticks_per_frame, calculated_delay))
      |                 ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c:1402:21: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1402 |                     if (!ISSAME(1*frame_delay/ is->dec_ctx->ticks_per_frame, calculated_delay))
      |                     ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c:1417:13: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1417 |             && !ISSAME(3*frame_delay/ is->dec_ctx->ticks_per_frame, calculated_delay)
      |             ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c:1418:13: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1418 |             && !ISSAME(2*frame_delay/ is->dec_ctx->ticks_per_frame, calculated_delay)
      |             ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c:1419:13: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1419 |             && !ISSAME(1*frame_delay/ is->dec_ctx->ticks_per_frame, calculated_delay)
      |             ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c: In function ‘stream_component_open’:
mpeg2dec.c:1862:13: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 1862 |             is->dec_ctx->ticks_per_frame = 1;
      |             ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c: In function ‘file_open’:
mpeg2dec.c:2049:13: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 2049 |             is->fps = 1/(av_q2d(is->dec_ctx->time_base) * is->dec_ctx->ticks_per_frame );
      |             ^~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
mpeg2dec.c: In function ‘main’:
mpeg2dec.c:2423:25: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
 2423 |                         double frame_delay = av_q2d(is->dec_ctx->time_base) * is->dec_ctx->ticks_per_frame;
      |                         ^~~~~~
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
  576 |     int ticks_per_frame;
      |         ^~~~~~~~~~~~~~~
make: *** [Makefile:578: comskip-mpeg2dec.o] Error 1
@jluke1
Copy link

jluke1 commented Jan 7, 2025 via email

@Scraft
Copy link

Scraft commented Jan 12, 2025

I don't know what the best fix is, but this seemed to get it working for me:

diff --git a/mpeg2dec.c b/mpeg2dec.c
index 3caa63c..031d363 100755
--- a/mpeg2dec.c
+++ b/mpeg2dec.c
@@ -575,8 +575,8 @@ void sound_to_frames(VideoState *is, short **b, int s, int c, int format)
                     for (l=0;l < c;l++ ) volume += *((fb[l])++) * 64000;
                 else
                     for (l=0;l < c;l++ ) volume += *((fb[0])++) * 64000;
-                *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
-                avg_volume += abs(volume / is->audio_st->codecpar->channels);
+                *audio_buffer_ptr++ = volume / is->audio_ctx->ch_layout.nb_channels;
+                avg_volume += abs(volume / is->audio_ctx->ch_layout.nb_channels);
             }
         }
         else
@@ -592,8 +592,8 @@ void sound_to_frames(VideoState *is, short **b, int s, int c, int format)
                     for (l=0;l < c;l++ ) volume += *((sb[l])++);
                 else
                     for (l=0;l < c;l++ ) volume += *((sb[0])++);
-                *audio_buffer_ptr++ = volume / is->audio_st->codecpar->channels;
-                avg_volume += abs(volume / is->audio_st->codecpar->channels);
+                *audio_buffer_ptr++ = volume / is->audio_ctx->ch_layout.nb_channels;
+                avg_volume += abs(volume / is->audio_ctx->ch_layout.nb_channels);
             }
         }
     }
@@ -770,15 +770,15 @@ void audio_packet_process(VideoState *is, AVPacket *pkt)
 
 
 
-        data_size = av_samples_get_buffer_size(NULL, is->frame->channels,
+        data_size = av_samples_get_buffer_size(NULL, is->audio_ctx->ch_layout.nb_channels,
                                                is->frame->nb_samples,
                                                is->frame->format, 1);
         if (data_size > 0)
         {
-            sound_to_frames(is, (short **)is->frame->data, is->frame->nb_samples ,is->frame->channels, is->frame->format);
+            sound_to_frames(is, (short **)is->frame->data, is->frame->nb_samples ,is->audio_ctx->ch_layout.nb_channels, is->frame->format);
         }
         is->audio_clock += (double)data_size /
-                           (is->frame->channels * is->frame->sample_rate * av_get_bytes_per_sample(is->frame->format));
+                           (is->audio_ctx->ch_layout.nb_channels * is->frame->sample_rate * av_get_bytes_per_sample(is->frame->format));
         av_frame_unref(is->frame);
     }
 
@@ -1032,18 +1032,9 @@ again:
     is->audio_clock = 0.0;
     if(ret < 0)
     {
-        char *error_text;
-        if (is->pFormatCtx->iformat->read_seek)
-        {
-            error_text = "Format specific";
-        }
-        else if(is->pFormatCtx->iformat->read_timestamp)
-        {
-            error_text = "Frame binary";
-        }
-        else
-        {
-            error_text = "Generic";
+        const char *error_text = "Seek failed";
+        if (ret == AVERROR(ENOSYS)) {
+            error_text = "Seeking not supported for this format.";
         }
 
         fprintf(stderr, "%s error while seeking. target=%6.3f, \"%s\"\n", error_text,is->seek_pts, is->pFormatCtx->url);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants