Jason Taylor wrote:
Hi All,

I have a program that is capable of playing multiple video streams at
the same time. Each video stream exist in a separate thread.

I have noticed that I get a lot of this error:

[h264 @ 0x9ca59f0]non-existing PPS referenced
    Last message repeated 3 times
[h264 @ 0x9ca59f0]number of reference frames exceeds max (probably
corrupt input), discarding one
    Last message repeated 11 times
[h264 @ 0x9ca59f0]non-existing PPS referenced

whenever I try to read multiple h264 streams in different threads in
my program. This error seems to pop up with every av_read_frame call
that I make when using multiple streams in multiple threads. It seems
that both videos are playing fine, but I am wondering if I should be
concerned about this error?

[...]

Do I need to put a mutex around any of these functions to make ffmpeg
thread happy? Or is there something else that I am missing?
If you know the input bitstream is valid, then you should be concerned.

My app runs multiple FFmpeg h264 decoders cleanly in separate threads; no mutex required.

My guess is that those messages are caused by corrupted compressed data. Some of the demuxers recycle data buffers; do you do anything to preserve the AVPacket data before calling av_read_packet() again? For an example, you can look at how av_dup_packet() is used in ffplay.c.

--
Mike Scheutzow


_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to