Hello,
I'm trying to use an AvFilter (to be able tu use yadif) in the ffmpeg decoding loop.
I managed to create a FilterGraph with yadif, where I can send frames.
But when I get the first frame from the AvFilter and call the frame ready callback with it I get an error I can't solve.
It looks like it's related to an access to the VideoFrameMetadata in the FFmpegVideoDecoder.
In attachments, you can find my decoding loop and here is the error I get :
[36723:38755:0914/105148.322600:FATAL:values.cc(516)] Check failed: is_dict().
0 libbase.dylib 0x00000001052febff base::debug::CollectStackTrace(void**, unsigned long) + 31
1 libbase.dylib 0x0000000104f9717b base::debug::StackTrace::StackTrace(unsigned long) + 75
2 libbase.dylib 0x0000000104f971fd base::debug::StackTrace::StackTrace(unsigned long) + 29
3 libbase.dylib 0x0000000104f971d8 base::debug::StackTrace::StackTrace() + 40
4 libbase.dylib 0x0000000104fe4897 logging::LogMessage::~LogMessage() + 183
5 libbase.dylib 0x0000000104fe3515 logging::LogMessage::~LogMessage() + 21
6 libbase.dylib 0x00000001052df4dc base::Value::SetKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, base::Value&&) + 188
7 libmedia.dylib 0x000000010eda0dea media::VideoFrameMetadata::SetBoolean(media::VideoFrameMetadata::Key, bool) + 90
8 libmedia.dylib 0x000000010efb6943 media::FFmpegVideoDecoder::OnNewFrame(AVFrame*) + 403
9 libmedia.dylib 0x000000010efb716b bool base::internal::FunctorTraits<bool (media::FFmpegVideoDecoder::*)(AVFrame*), void>::Invoke<bool (media::FFmpegVideoDecoder::*)(AVFrame*), media::FFmpegVideoDecoder*, AVFrame*>(bool (media::FFmpegVideoDecoder::*)(AVFrame*), media::FFmpegVideoDecoder*&&, AVFrame*&&) + 155
10 libmedia.dylib 0x000000010efb7046 bool base::internal::InvokeHelper<false, bool>::MakeItSo<bool (media::FFmpegVideoDecoder::* const&)(AVFrame*), media::FFmpegVideoDecoder*, AVFrame*>(bool (media::FFmpegVideoDecoder::* const&)(AVFrame*), media::FFmpegVideoDecoder*&&, AVFrame*&&) + 102
11 libmedia.dylib 0x000000010efb6fa5 bool base::internal::Invoker<base::internal::BindState<bool (media::FFmpegVideoDecoder::*)(AVFrame*), base::internal::UnretainedWrapper<media::FFmpegVideoDecoder> >, bool (AVFrame*)>::RunImpl<bool (media::FFmpegVideoDecoder::* const&)(AVFrame*), std::__1::tuple<base::internal::UnretainedWrapper<media::FFmpegVideoDecoder> > const&, 0ul>(bool (media::FFmpegVideoDecoder::* const&)(AVFrame*), std::__1::tuple<base::internal::UnretainedWrapper<media::FFmpegVideoDecoder> > const&, std::__1::integer_sequence<unsigned long, 0ul>, AVFrame*&&) + 101
12 libmedia.dylib 0x000000010efb6f0a base::internal::Invoker<base::internal::BindState<bool (media::FFmpegVideoDecoder::*)(AVFrame*), base::internal::UnretainedWrapper<media::FFmpegVideoDecoder> >, bool (AVFrame*)>::Run(base::internal::BindStateBase*, AVFrame*) + 106
13 libmedia.dylib 0x000000010f127101 base::RepeatingCallback<bool (AVFrame*)>::Run(AVFrame*) const & + 113
14 libmedia.dylib 0x000000010f126e70 media::FFmpegDecodingLoop::DecodePacket(AVPacket const*, base::RepeatingCallback<bool (AVFrame*)>) + 2528
I must have missed something related to the metadata.
Is there someone that can help me with this here, or tell me where can I ask for help ?
Thanks.