I test the IPTV function by UDP through VLC server. The found the time is slow between start to open the video and video display on the screen. We check the VLC option, found “enable all ES stream” the time will become long. But in windows there’ve no this situation. We check the community “https://community.freescale.com/thread/324048#comment-415338”, it say try change the lib_mpg2_parser_arm11_elinux.3.0.so, and we do that. It seems possible to solve this issue, but it bring other issues, like after the play there is sound but no video, etc …
Follow is the video stream ,attach file is ES option and test tool .
239_0_0_15_1234.ts and 239_3_3_5_1234.ts --> play video long time
239_0_0_81_1234.ts --> change the lib_mpg2_parser_arm11_elinux.3.0.so after the play there is sound but no video
Please provide me with relevant comments.
I got reply from expert team:
"Well the library is not for public distribution, and the original thread mentions that. The problem is simple yet hard to get past. MPEG-TS streams start with a PMT header. This header has PID (Program IDs) that point to various start points within the stream. The long delay happens because there is an error in the header and it has an entry for an extra PID. The code in the library exits before the code searches for the ‘missing’ PID.
Apparently the library they have sees two video PIDs and an audio PID and the Audio PID is not searched for. The only fix I know of is they need to preaudit the stream and make sure all the PIDs point to the proper places. "
We add the log on OpenMAXIL/src/component/fsl_parser/FslParser.cpp. There is clear to get the delay between "FslParser::InitCoreParser()" and "Mpeg2CreateParser:parser created successfully". Delay is depend on the library "lib_mpg2_parser_arm11_elinux.3.0.so", but we've no way to modify it. Have any way to fix it ? Thanks!!