[mythtv] [PATCH] XVideo XvMC VLD broken: crash on channel change

Neale Swinnerton mythtv-dev.spam at isismanor.com
Wed May 4 11:14:05 UTC 2005


Hi Terry,

your xvmc_vld_4.patch fixes the crash, but I still 'hang' when I change
channel. I get this in the log, any clues? I'm running

CVS from 00:00GMT 2005-05-04
+ xtraview.v2.patch
+ xvmc_vld_3.patch
+ xvmc_vld_4.patch

Neale.


2005-05-04 12:11:04.678 Woo Hoo! We have more XvMC Surfaces than we need
2005-05-04 12:11:04.680 Snapping height to avoid scaling: disphoff 576,
dispyoff: 0
2005-05-04 12:11:04.681 Image size. dispxoff -150, dispyoff: 0,
dispwoff: 1021, disphoff: 576
2005-05-04 12:11:04.682 Image size. imgx 0, imgy: 0, imgw: 720, imgh: 576
2005-05-04 12:11:04.787 waiting for prebuffer... 6
2005-05-04 12:11:04.968 waiting for prebuffer... 7
2005-05-04 12:11:05.147 waiting for prebuffer... 8
2005-05-04 12:11:05.327 waiting for prebuffer... 9
2005-05-04 12:11:05.515 waiting for prebuffer... 10
2005-05-04 12:11:05.677 Prebuffer wait timed out 10 times.
2005-05-04 12:11:05.688 waiting for prebuffer... 0
2005-05-04 12:11:05.868 waiting for prebuffer... 1
2005-05-04 12:11:06.047 waiting for prebuffer... 2
2005-05-04 12:11:06.227 waiting for prebuffer... 3
2005-05-04 12:11:06.407 waiting for prebuffer... 4
2005-05-04 12:11:06.587 waiting for prebuffer... 5
2005-05-04 12:11:06.767 waiting for prebuffer... 6
2005-05-04 12:11:06.947 waiting for prebuffer... 7
2005-05-04 12:11:07.127 waiting for prebuffer... 8
2005-05-04 12:11:07.309 waiting for prebuffer... 9
2005-05-04 12:11:07.379 detectInterlace(Detect Scan, Interlaced Scan,
25, 576) ->Interlaced Scan
2005-05-04 12:11:07.380 Interlaced: Interlaced Scan  video_height: 576
fps: 25
2005-05-04 12:11:07.381 positionMap[ 8 ] == 283504.
2005-05-04 12:11:07.487 waiting for prebuffer... 10
2005-05-04 12:11:07.574 Prebuffer wait timed out 10 times.
2005-05-04 12:11:07.575 Prebuffer wait timed out, and not enough free
frames. Discardingbuffers.
2005-05-04 12:11:07.576 VideoOutputXv::DiscardFrames() 1: UUUAAULU
2005-05-04 12:11:07.576 VideoOutputXv::DiscardFrames() 2: UUUAAULU
2005-05-04 12:11:07.577 VideoOutputXv::DiscardFrames() 3: UUUAAULU
2005-05-04 12:11:07.578 VideoOutputXv::DiscardFrames() 4: AdAAAAAd -- done()
2005-05-04 12:11:07.582 AddInheritence future       G  NOT in used or in
limbo. AdALAAAd
2005-05-04 12:11:07.587 prebuffering pause
2005-05-04 12:11:07.588 waiting for prebuffer... 0
2005-05-04 12:11:07.606 AddInheritence past       G  NOT in used or in
done. AdAULAAd
2005-05-04 12:11:09.875 Timed out waiting for free video buffers.
2005-05-04 12:11:12.075 Timed out waiting for free video buffers.
2005-05-04 12:11:14.274 Timed out waiting for free video buffers.
2005-05-04 12:11:16.474 Timed out waiting for free video buffers.
2005-05-04 12:11:18.673 Timed out waiting for free video buffers.
2005-05-04 12:11:20.873 Timed out waiting for free video buffers.
2005-05-04 12:11:23.073 Timed out waiting for free video buffers.
2005-05-04 12:11:25.272 Timed out waiting for free video buffers.
2005-05-04 12:11:27.472 Timed out waiting for free video buffers.
2005-05-04 12:11:29.672 Timed out waiting for free video buffers.
2005-05-04 12:11:31.871 Timed out waiting for free video buffers.
2005-05-04 12:11:34.071 Timed out waiting for free video buffers.
2005-05-04 12:11:36.270 Timed out waiting for free video buffers.


Terry Barnaby wrote:
> The current MythTV CVS with XvMC VLD decoding crashes when changing
> a channel.
> This is due to to the test to see if a valid XvMC port is available
> in the static function VideoOutputXv::GetBestSupportedCodec() on lines
> 820->838. This fails on a channel change as the latest XvMC code
> does not close down the XvMC port and so no ports are available for the
> test.
> I'm not sure where is functionality should be put
> (VideoOutputXv::InitXvMc() ?) so I have put a "#ifdef" around this
> code.
> A patch to fix this is enclosed, but as stated, the code really
> needs a better change.
> 
> I think I may nearly be there with XvMC VLD decoding ...
> 
> 
> Terry
> 
> 
> ------------------------------------------------------------------------
> 
> Index: libs/libmythtv/videoout_xv.cpp
> ===================================================================
> RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/videoout_xv.cpp,v
> retrieving revision 1.137
> diff -u -r1.137 videoout_xv.cpp
> --- libs/libmythtv/videoout_xv.cpp	4 May 2005 06:15:55 -0000	1.137
> +++ libs/libmythtv/videoout_xv.cpp	4 May 2005 08:12:51 -0000
> @@ -817,6 +817,7 @@
>      }
>  
>      bool ok = true;
> +#ifdef ZAP
>      if (ret>kCodec_NORMAL_END)
>      {
>          Window root;
> @@ -836,6 +837,7 @@
>              X11S(XvUngrabPort(disp, port, CurrentTime));
>          }
>      }
> +#endif
>      X11S(XCloseDisplay(disp));
>  
>      if (!ok)
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


More information about the mythtv-dev mailing list