diff -urNp orig/src/mpeg2desc.c dwok/src/mpeg2desc.c --- orig/src/mpeg2desc.c 2016-10-25 02:30:11.000000000 +0200 +++ dwok/src/mpeg2desc.c 2017-02-25 10:51:52.384983496 +0100 @@ -809,54 +809,6 @@ static void process_packets { writetostream(packetid, buf + contentoffs, readlen - contentoffs); } /*if*/ -#if defined(HAVE_NESTED_ROUTINES) - if (outputenglish && packetid >= MPID_VIDEO_FIRST && packetid <= MPID_VIDEO_LAST) - { - /* look inside PES packet to report on details of video packets */ - unsigned int remaining = readlen; - jmp_buf resume; - /* GCC extension! nested routine */ - void bufread(void *ptr, int len, bool required) - { - const unsigned int tocopy = remaining > len ? len : remaining; - if (tocopy != 0) - { - memcpy(ptr, buf + contentoffs, tocopy); - ptr = (unsigned char *)ptr + tocopy; - len -= tocopy; - contentoffs += tocopy; - remaining -= tocopy; - inputpos += tocopy; - } /*if*/ - if (len != 0) - { - /* read more of packet */ - const unsigned int toread = packetlen < len ? packetlen : len; - readinput(ptr, toread, required); - if (dowrite) - { - writetostream(packetid, ptr, toread); - } /*if*/ - packetlen -= toread; - len -= toread; - if (len != 0) - { - if (false /*required*/) - { - fprintf(stderr, "Unexpected nested read EOF\n"); - } /*if*/ - longjmp(resume, 1); - } /*if*/ - } /*if*/ - } /*bufread*/ - inputpos -= remaining; /* rewind to start of packet content */ - if (!setjmp(resume)) - { - process_packets(bufread, true); - } /*if*/ - } - else -#endif { while (packetlen != 0) {