[FFmpeg-devel] [PATCH] DVB EPG decoder
Marton Balint
cus at passwd.hu
Fri Aug 23 01:21:09 EEST 2019
On Thu, 22 Aug 2019, Anthony Delannoy wrote:
> Hi
>
>>> fails to build on MIPS
>>
>> Seems to be because of these two structs within EPGTable and EPGSubTable:
>> + struct {
>> + int nb_descriptors;
>> + void **descriptors;
>> + };
>
> I made modifications to avoid issues you encountered and put fate
> modifications in the right commit(s).
>
>> Afaict, some patches change files that were added in earlier patches. This may
>> not be ideal.
>
> I committed changements to files (dvb.{h,c}) I added earlier because I
> need descriptors files (dvbdescriptors.{h,c})
> before those changes and descriptors files need the first version of
> the dvb file (basic get functions).
>
>> Why are the big api changes necessary at all?
>
> I made those big changements to ease the implementation of all others
> DVB tables (i'd like to add support for NIT,
> AIT, TDT,... after EPG) by using the same helper functions
> (avpriv_dvb_get{8,16,32}()) and especially the same
> DVB descriptors code because each descriptor is supported by multiple
> table in general.
I think we should only merge the part of this patchset which makes the EIT
available as a data stream. Parsing the whole EIT or dumping the data as
ASCII is not libavcodec's or libavutil's job. Also there is no such
concept in libavcodec as a data decoder, if something happens to
work with avcodec_send_packet/avcodec_receive_frame that is mostly luck I
believe.
I am also not sure if we should add the EIT PID to all programs, that
would mess up the direct relation between a PMT and an AVProgram, and we
probably don't want that. So I'd rather see the EIT data stream as a
standalone PID separate from the programs.
Regards,
Marton
More information about the ffmpeg-devel
mailing list