pesintta / vdr-plugin-vaapidevice

VDR VAAPIDevice Plug-in
9 stars 11 forks source link

No OSD with latest commit. #68

Closed Space2Man closed 6 years ago

Space2Man commented 6 years ago

Hi,

I see different error messages ... I get (with latest commit):

Mar 05 00:11:24 [vdr] [18025] VAAPI: Device ready Mar 05 00:11:24 [vdr] [18067] VAAPI-ERROR: video/vaapi: no osd subpicture yet Mar 05 00:11:24 [vdr] [18067] VAAPI-ERROR: video: display buffer empty, duping frame (1/0) 0 Mar 05 00:11:24 [vdr] [18067] VAAPI-ERROR: video/vaapi: no osd subpicture yet Mar 05 00:11:24 [vdr] [18067] VAAPI-ERROR: video: display buffer empty, duping frame (2/0) 0 Mar 05 00:11:24 [vdr] [18067] VAAPI-ERROR: video/vaapi: no osd subpicture yet

And after some time:

Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video/vaapi: no osd subpicture yet Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video: display buffer empty, duping frame (585/0) 6 Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video/vaapi: can't destroy 8 surfaces Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video/vaapi: can't destroy postproc context! Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video/vaapi: can't destroy config! Mar 05 00:11:25 [vdr] [18067] VAAPI: video/vaapi: supports video processing Mar 05 00:11:25 [vdr] [18067] VAAPI-ERROR: video/vaapi: no osd subpicture yet Mar 05 00:11:25 [vdr] [18067] VAAPI: video/vaapi: noise reduction supported

Best regards,

Space #

Space2Man commented 6 years ago

Btw.... I am on

[ebuild R ] media-video/ffmpeg-3.3.6:0/55.57.57::gentoo USE="X alsa bzip2 encode gpl hardcoded-tables iconv mp3 network postproc threads vaapi x264 zlib (-altivec) -amr -amrenc -bluray -bs2b -cdio -celt -chromaprint -chromium -cpudetection -debug -doc -fdk -flite -fontconfig -frei0r -fribidi -gcrypt -gme -gmp -gnutls -gsm -iec61883 -ieee1394 -jack -jpeg2k -kvazaar -ladspa -libass -libcaca -libilbc -librtmp -libsoxr -libv4l -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-mmal) -modplug -nvenc -openal -opengl -openh264 -openssl -opus -oss -pic -pulseaudio -rubberband -samba -schroedinger -sdl -snappy -sofalizer -speex -ssh -static-libs {-test} -theora -truetype -twolame -v4l -vdpau -vorbis -vpx -wavpack -webp -x265 -xcb -xvid -zeromq -zimg -zvbi" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="mmx mmxext sse sse2 -3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -sse3 -sse4_1 -sse4_2 -ssse3 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher" 0 KiB

Also just noticed that it does not even work without skindesigner. So this seems to be a different issue...

Space2Man commented 6 years ago

Test was done on 48a0f79

Space2Man commented 6 years ago

Latest error message:

Mar 05 00:31:19 [vdr] [18573] VAAPI-ERROR: video/vaapi: no osd subpicture yet
Mar 05 00:31:19 [vdr] [18573] VAAPI-ERROR: video/vaapi: can't associate subpicture
Mar 05 00:31:19 [vdr] [18573] VAAPI-ERROR: video/vaapi: vaSyncSurface failed: invalid VASurfaceID
Space2Man commented 6 years ago

I need to try to bisect the commit tomorrow ... current infos I can provide:

working: 6372704835b62bee882feed92686edc75e70b55f not-working: 192789d24fe853429c60f763b3835c2e05336a22

libva version used:

[ebuild   R   ~] x11-libs/libva-2.1.0:0/2::gentoo  USE="X drm utils -opengl -vdpau -wayland" ABI_X86="(64) -32 (-x32)" VIDEO_CARDS="intel -i965 -nouveau -nvidia" 0 KiB
[ebuild   R   ~] x11-libs/libva-intel-driver-2.1.0::gentoo  USE="X drm -wayland" ABI_X86="(64) -32 (-x32)" 0 KiB

EDIT: Updated the working/non-working git hashes ...

Space2Man commented 6 years ago

With dfe5a20b1865fadf42a25400bd23f16adde31f84 I see first strange things (on channel change the OSD only pops up for very short time but menu is still accessible). OSD seems to be "overwritten" once the channel is tuned ... if I press Ok to display channelchange OSD again it remains there for the configured time ...

EDIT: That effect has started on an earlier commit, just did not test channelchange ... the last fully working commit for me is 6372704835b62bee882feed92686edc75e70b55f ...

Space2Man commented 6 years ago

Ok, latest status:

Quantomax commented 6 years ago

Same here (no OSD at all): 1000x "VAAPI-ERROR: video/vaapi: no osd subpicture yet" in Log, vdr-2.3.8 with vdr-plugin-skinnopacity (native).

pesintta commented 6 years ago

It could be that OSD is initalized before video context is usable. Could you test the following patch (totally untested):

diff --git a/vaapidev.c b/vaapidev.c
index 6303338..2d93200 100644
--- a/vaapidev.c
+++ b/vaapidev.c
@@ -996,11 +996,11 @@ static void StartVideo(void)
        // FIXME: not good looking, mapped and then resized.
        VideoSetFullscreen(1);
     }
-    VideoOsdInit();
     if (!MyVideoStream->Decoder) {
        VideoStreamOpen(MyVideoStream);
        AudioSyncStream = MyVideoStream;
     }
+    VideoOsdInit();
 }

 /**
pesintta commented 6 years ago

After testing I decided to add the above change to master branch. It looks more correct that way. Please give it a try and report back if OSD now works.

Space2Man commented 6 years ago

Hi,

issue seems to be resolved (in a short test) ... I have OSD and channelchange info remains open as expected.

Thanks!

Space2Man commented 6 years ago

Still looking good, so I think this issue is resolved.

pesintta commented 6 years ago

Thank you for testing and verifying fixes.