[FFmpeg-devel] (no subject)

kedahanzi kedahanzi
Sat Oct 10 10:08:24 CEST 2009


Hi, everybody
        i meet a problem when reading mpegts.c.

////////////////////////////////////////////////////////////////////////
if (tss->type == MPEGTS_SECTION) {
        if (is_start) {
            /* pointer field present */
            len = *p++;
            if (p + len > p_end)
                return 0;
//problem:is_start identify section start, but where the remaining
// section bytes come? So, the following code is redundant.
            if (len && cc_ok) {
                /* write remaining section bytes */
                write_section_data(s, tss,
                                   p, len, 0);
                /* check whether filter has been closed */
                if (!ts->pids[pid])
                    return 0;
            }
//the following code is enough for section start
            p += len;
            if (p < p_end) {
                write_section_data(s, tss,
                                   p, p_end - p, 1);
            }
        } else {
            if (cc_ok) {
                write_section_data(s, tss,
                                   p, p_end - p, 0);
            }
        }
//////////////////////////////////////////////////////////////////////////////////////
Could anybody give me some advice?


2009-10-10 



kedahanzi 



More information about the ffmpeg-devel mailing list