Bug 185705 - failed to use x11/xv in totem when use i810 driver
failed to use x11/xv in totem when use i810 driver
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: totem (Show other bugs)
rawhide
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Monty
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-03-16 19:54 EST by Miao ZhiCheng
Modified: 2013-10-20 18:41 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-06-01 10:42:32 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Miao ZhiCheng 2006-03-16 19:54:00 EST
Description of problem:
failed to use x11/xv in totem when use i810 driver

Version-Release number of selected component (if applicable):
xorg-x11-drv-i810-1.4.1.3-3.1
xorg-x11-server-Xorg-1.0.1-8

How reproducible:
Every time.

Steps to Reproduce:
1. download a ogg file with video stream, e.g.
http://www.gnome.org/~jrb/aiglx/shot03.ogg
2. run gstreamer-properties, choose X11/XShm/Xv, and test.
3. run totem, and choose shot03.ogg
  
Actual results:
gstreamer-properties test success, but failed and output:

The program 'totem' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 44 error_code 11 request_code 140 minor_code 19)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Expected results:
no failed.

Additional info:
$xvinfo
X-Video Extension version 2.2
screen #0
  Adaptor #0: "Intel(R) Video Overlay"
    number of ports: 1
    port base: 73
    operations supported: PutImage
    supported visuals:
      depth 24, visualID 0x23
      depth 24, visualID 0x24
      depth 24, visualID 0x25
      depth 24, visualID 0x26
      depth 24, visualID 0x27
      depth 24, visualID 0x28
      depth 24, visualID 0x29
      depth 24, visualID 0x2a
    number of attributes: 3
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 66051)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 71)
    maximum XvImage size: 1440 x 1080
    Number of image formats: 4
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x59565955 (UYVY)
        guid: 55595659-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
Comment 1 Mike A. Harris 2006-03-17 07:00:31 EST
(In reply to comment #0)
> Description of problem:
> failed to use x11/xv in totem when use i810 driver
> 
> Version-Release number of selected component (if applicable):
> xorg-x11-drv-i810-1.4.1.3-3.1
> xorg-x11-server-Xorg-1.0.1-8
> 
> How reproducible:
> Every time.
> 
> Steps to Reproduce:
> 1. download a ogg file with video stream, e.g.
> http://www.gnome.org/~jrb/aiglx/shot03.ogg
> 2. run gstreamer-properties, choose X11/XShm/Xv, and test.
> 3. run totem, and choose shot03.ogg
>   
> Actual results:
> gstreamer-properties test success, but failed and output:
> 
> The program 'totem' received an X Window System error.

That means the X Window System told totem it is doing something
wrong, and that totem is in error - not the X Window System.

> This probably reflects a bug in the program.

"the program" being "totem"

> The error was 'BadAlloc (insufficient resources for operation)'.
>   (Details: serial 44 error_code 11 request_code 140 minor_code 19)
>   (Note to programmers: normally, X errors are reported asynchronously;
>    that is, you will receive the error a while after causing it.
>    To debug your program, run it with the --sync command line
>    option to change this behavior. You can then get a meaningful
>    backtrace from your debugger if you break on the gdk_x_error() function.)

This indicates totem is being told by the X server that there are
insufficent resources available to serve the request it is making.
Totem should handle this code and do something else, instead of
failing.
Comment 2 Miao ZhiCheng 2006-03-17 07:18:35 EST
Not only totem, and also mplaye from freshrpms:
MPlayer interrupted by signal 6 in module: vo_check_events
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.

So, I think it's a bug of the xv driver from i810
Comment 3 John Thacker 2006-04-23 12:02:33 EDT
What type of files were you trying to play?
Were they fairly high resolution movie files?
Can you play other files, with smaller resolution?

I know that Version 1.4.1.3 of the i810 driver often can't play
very high resolution video files with XVideo because of an inability
to allocate enough offscreen memory.  I see that is is an allocation
error.

Version 1.5.0 adds the "LinearAlloc" option.  From the man page:

Option "LinearAlloc" "integer"
Allows more memory for the offscreen allocator. This usually helps in
situations where HDTV movies are required to play but not enough offscreen
memory is usually available. Set this to 6144 for upto 1920x1080 HDTV support.
Default 0KB (off).
Comment 4 John Thacker 2006-06-01 10:42:32 EDT
Closing due to lack of response.

There are really two different things here:
First, the i810 driver before version 1.5.0 had no way to allocate
enough memory for large resolution video files when using XVideo.
This is fixed in the version now in Rawhide.
Second, mplayer and totem do not fail gracefully when the driver
correctly reports that not enough memory is available to allocate
as they have requested.

This second thing is a totem and mplayer bug.  They should not just
crash if the driver can't allocate as much memory as they've
requested.

Note You need to log in before you can comment on or make changes to this bug.