Is what I suspect but I have also a decoder running in the same process and
I never saw this failure in other parts of gstreamer-vaapi.
Could you provide any advice on how to debug this? I fear that run inside
Valgrind will be not feasible.
Thanks
On Thu, Jul 26, 2018 at 10:22 AM Víctor Jáquez <vjaquez(a)igalia.com> wrote:
> On Thu, 26 Jul 2018 at 07:50, Matteo Valdina wrote:
> > Hi,
> > I'm facing a bug with the intel-vaapi-driver and gstreamer-vaapi.
> >
> > My pipeline is something like:
> >
> > v4l2src -> vaapipostproc-> vaapih264enc -> rtp
> >
> > This is a 4K@30 stream in NV12 and encoded in High profile at 6Mbps.
> > The VPP is there when there is a need to rescale the frame.
> >
> > After an undefined enough of time that it could be from 6 minutes to 14
> > hours (or more), vaapi fails to create a SurfaceID and the pipeline
> stopped.
> >
> > If the VPP is processing data (unfortunately I noticed that if you set
> the
> > rescale mode to fast it pass through the rescaler without needs to
> rescale
> > the frame) it fails with these error:
> >
> > Jul 16 22:01:46 localhost gstd[2669]: failed to apply VPP filters
> (error 2)
> > Jul 16 22:01:46 localhost gstd[2669]: error: Internal data stream error.
> > Jul 16 22:01:46 localhost gstd[2669]: error: streaming stopped, reason
> > error (-5)
> >
> > I added additional logs in this failure is reported in the vaEndPicture
> > with invalid SurfaceID.
> > Adding more logs I noticed that gstreamer-vaapi fails to create the
> surface
> > and pass to the rescaler a surfaceid -1.
> >
> > If I disable the VPP the issue is not resolved but moved to the
> > vaapih264enc with the following error:
> >
> > Jul 23 17:22:03 localhost gstd[2329]: create H264 picture failed,
> > frame timestamp:3:03:07.581673496
> > Jul 23 17:22:03 localhost gstd[2329]: failed to process reordered frames
> > Jul 23 17:22:03 localhost gstd[2329]: failed to encode frame 15901
> (status -2)
> > Jul 23 17:22:03 localhost gstd[2329]: error: Internal data stream error.
> > Jul 23 17:22:03 localhost gstd[2329]: error: streaming stopped, reason
> > error (-5)
>
> It this case it look you are in a memory exhaustion condition, where the
> encoder
> cannot allocate further memory. A memory leak somewhere?
>
> In the case of the VPP looks similar, as if the driver couldn't allocate
> a new
> surface.
>
> >
> > Also here it looks like the vaapi fails to create a valid SurfaceID.
> >
> > I'm currently on gstreamer 1.14.0, libva 2.1.0, intel-vaapi-driver
> 2.1.0,
> > kernel 4.12.14 and the CPU is a Intel(R) Celeron(R) CPU 3965U @ 2.20GHz.
> >
> > Any suggestion on how to debug this issue?
> > Enable LIBVA_TRACE is not viable because it will exhaust the space in a
> > couple of hours.
> > I should try to update to the latest libva, intel-vaapi-driver?
> >
> > Best
> > Matteo Valdina
>
> > _______________________________________________
> > intel-vaapi-media mailing list
> > intel-vaapi-media(a)lists.01.org
> >
https://lists.01.org/mailman/listinfo/intel-vaapi-media
>
>
--
“There are two ways of constructing a software design: One way is to make
it so simple that there are obviously no deficiencies, and the other way is
to make it so complicated that there are no obvious deficiencies. The first
method is far more difficult.”
- Tony Hoare
--
“There are two ways of constructing a software design: One way is to make
it so simple that there are obviously no deficiencies, and the other way is
to make it so complicated that there are no obvious deficiencies. The first
method is far more difficult.”
- Tony Hoare