christophbeatty / gnome-mplayer

Automatically exported from code.google.com/p/gnome-mplayer
GNU General Public License v2.0
0 stars 1 forks source link

Window resize problems on OpenBSD #139

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hello,

There are problems on OpenBSD related to window resize, especially when
switching fullscreen mode on/off.

Gtk-CRITICAL **: gtk_widget_set_size_request: assertion `GTK_IS_WIDGET
(widget)' failed

and the movie window becomes black and never comes back.

The problems seem to exist in gui.c at line 857:

            if (window_x == 0 && window_y == 0) {
                gtk_widget_show_all(GTK_WIDGET(fixed));
                gtk_widget_set_size_request(fixed, -1, -1);
                gtk_widget_set_size_request(drawing_area, -1, -1);
                if (verbose)
                    printf("Changing window size to %i x %i \n",
idle->width, idle->height);
                if (last_window_width == 0 && last_window_height == 0) {

And at line 1373:

                if
(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem_view_playlist))) {
                        if (vertical_layout) {
                                //gtk_paned_set_position(GTK_PANED(pane),
idledata->height);
                        } else {
                                //gtk_paned_set_position(GTK_PANED(pane),
idledata->width);
                        }
                }
        //printf("new_width %i new_height %i\n",new_width, new_height);

        gtk_widget_set_size_request(drawing_area, new_width, new_height);
        gtk_widget_set_size_request(fixed, allocation->width,
allocation->height);
        idledata->x = (allocation->width - new_width) / 2;
        idledata->y = (allocation->height - new_height) / 2;
        move_window(idledata);
        return FALSE;
    } else {
        return TRUE;
    }

This is the full log:

david$ gnome-mplayer --reallyverbose /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4  

GNOME MPlayer v0.9.4
vo = xv ao = sndio
Running with GIO support
Using volume of 100 from gnome-mplayer preference
opening /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4
is block 0
is character 0
is reg 1
is dir 0
playlist 0
embedded in window id 0
/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
Streaming media 'file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4' = 0
opening playlist
playlist detection = 0
adding file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 to playlist
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
Streaming media 'file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4' = 0
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
getting file metadata for /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4
playing - file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4
is playlist 0
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
Streaming media 'file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4' = 0
/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
Streaming media '/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4' = 0
file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 is not a device name
Streaming media 'file:///mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4' = 0
Using match: type='signal',interface='com.gnome.mplayer'
Using match: type='signal',interface='org.gnome.SettingsDaemon'
mplayer -profile gnome-mplayer -slave -identify -framedrop
-noconsolecontrols -osdlevel 0 -nomouseinput -nocache -wid 0x220008d -ass
-embeddedfonts -ass-font-scale 1.0 -vf-add screenshot
/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 
Using match: type='signal',interface='org.gnome.SettingsDaemon.MediaKeys'
Proxy connections and Command connected

 before line 857

 after line 857
Changing window size to 480 x 360 
Spawn succeeded for filename /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4
About to lock second time, next message about thread running, should be
unlocking
send command = seek 0 0

thread reader: MPlayer 1.0rc2-3.3.5 (C) 2000-2007 MPlayer Team
thread reader: CPU: Intel(R) Atom(TM) CPU N270   @ 1.60GHz (Family: 6,
Model: 28, Stepping: 2)
thread reader: CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
thread reader: Compiled with runtime CPU detection.
thread reader: 
thread reader: Playing /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4.
thread reader: ISO: File Type Major Brand: ISO/IEC 14496-1 (MPEG-4 system) v2
thread reader: Quicktime/MOV file format detected.
thread reader: ID_AUDIO_ID=0
thread reader: [mov] Audio stream found, -aid 0
thread reader: ID_VIDEO_ID=1
thread reader: [mov] Video stream found, -vid 1
thread reader: VIDEO:  [avc1]  480x360  24bpp  7.998 fps    0.0 kbps ( 0.0
kbyte/s)
thread reader: ID_FILENAME=/mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4
thread reader: ID_DEMUXER=mov
thread reader: ID_VIDEO_FORMAT=avc1
thread reader: ID_VIDEO_BITRATE=0
thread reader: ID_VIDEO_WIDTH=480
thread reader: ID_VIDEO_HEIGHT=360
thread reader: ID_VIDEO_FPS=7.998
thread reader: ID_VIDEO_ASPECT=0.0000
thread reader: ID_AUDIO_FORMAT=mp4a
thread reader: ID_AUDIO_BITRATE=112592
thread reader: ID_AUDIO_RATE=44100
thread reader: ID_AUDIO_NCH=2
thread reader: ID_LENGTH=446.24
thread reader: [ass] auto-open
thread reader: Opening video filter: [screenshot]
thread reader: Opening video filter: [eq2]
thread reader: [ass] Init
thread reader: [ass] Updating font cache.
thread reader:
==========================================================================
thread reader: Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
thread reader: Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
thread reader:
==========================================================================
thread reader: ID_VIDEO_CODEC=ffh264
thread reader:
==========================================================================
thread reader: Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio
Coding)
thread reader: AUDIO: 44100 Hz, 2 ch, s16le, 112.6 kbit/7.98% (ratio:
14074->176400)
thread reader: ID_AUDIO_BITRATE=112592
thread reader: ID_AUDIO_RATE=44100
thread reader: ID_AUDIO_NCH=2
thread reader: Selected audio codec: [faad] afm: faad (FAAD AAC
(MPEG-2/MPEG-4 Audio) decoder)
thread reader:
==========================================================================
thread reader: AO: [sndio] 44100Hz 2ch s16le (2 bytes per sample)
thread reader: ID_AUDIO_CODEC=faad
thread reader: Starting playback...
thread reader: VDec: vo config request - 480 x 360 (preferred colorspace:
Planar YV12)
thread reader: VDec: using Planar YV12 as output csp (no 0)
thread reader: Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
thread reader: ID_VIDEO_ASPECT=1.3333
thread reader: [swscaler @ 0x3c1aa128]SwScaler: using unscaled yuv420p ->
bgr24 special converter
thread reader: VO: [xv] 480x360 => 480x360 Planar YV12 
Resizing to 480 x 360 
send command = pausing_keep get_property chapters

send command = pausing_keep get_property sub_demux

send command = pausing_keep_force get_property path

 before line 857

(gnome-mplayer:3885): Gtk-CRITICAL **: gtk_widget_set_size_request:
assertion `GTK_IS_WIDGET (widget)' failed

 after line 857
Changing window size to 480 x 360 

 before line 1373

(gnome-mplayer:3885): Gtk-CRITICAL **: gtk_widget_set_size_request:
assertion `GTK_IS_WIDGET (widget)' failed

 after line 1373

 before line 1373

(gnome-mplayer:3885): Gtk-CRITICAL **: gtk_widget_set_size_request:
assertion `GTK_IS_WIDGET (widget)' failed

 after line 1373
send command = pausing_keep set_property sub_visibility 1

send command = volume 100 1

send command = get_property volume

thread reader error: X11 error: BadWindow (invalid Window parameter)
thread reader error: X11 error: BadWindow (invalid Window parameter)
thread reader error: X11 error: BadWindow (invalid Window parameter)
thread reader error: X11 error: BadWindow (invalid Window parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: Failed to get value of property 'chapters'.
thread reader: [Mixer] No hardware mixing, inserting volume filter.
thread reader error: Failed to get value of property 'sub_demux'.
thread reader: ANS_volume=100.000000
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
send command = pausing_keep get_property stream_pos

thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader: ANS_TIME_POSITION=1.1
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader: ANS_stream_pos=155721
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
send command = pausing_keep get_property stream_pos

thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
send command = key_down_event 65513

thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader: ANS_TIME_POSITION=2.3
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader: ANS_stream_pos=169388
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: No bind found for key '0xffe9  '.                         
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
^Csend command = quit

send command = seek 0 2
pause

thread reader error: X11 error: BadDrawable (invalid Pixmap or Window
parameter)
thread complete
thread_complete, unlocking thread running

(gnome-mplayer:3885): Gtk-CRITICAL **: gtk_widget_hide: assertion
`GTK_IS_WIDGET (widget)' failed
Thread completing
thread running, in second lock
shutting down threadquery for /mnt/sdcard/YOUTUBE/uuGaqLT-gO4.mp4 since
threaddata->done is TRUE

Also, when using "--reallyverbose" flag, fullscreen doesn't work at all:
menubar disappears, but movie window doesn't resize.

Best Regards,
David

Original issue reported on code.google.com by dco...@gmail.com on 11 Feb 2009 at 10:33

GoogleCodeExporter commented 8 years ago
Can you please debug the application like this

export G_DEBUG=fatal_warnings
gdb gnome-mplayer
gdb>run

Then when you hit an error type 'bt' into the gdb prompt and post that here. 
I'm am
concerned that it says the drawing_area is not a widget, since once that widget 
is
created it is never destroyed.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 1:43

GoogleCodeExporter commented 8 years ago
Here's a preliminary backtrace. When at home, I will try to recompile with "-O0 
-g"
both glib and gtk+ too, if needed.

TIA,
david

Original comment by dco...@gmail.com on 11 Feb 2009 at 2:49

Attachments:

GoogleCodeExporter commented 8 years ago
In gdb, repeat the process and then when you get the crash, use up until you 
get to
gtk_widget_set_size_request (#5 in the gdb dump you sent) and then do

print drawing_area
print new_width
print new_height

All of those should have valid values.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 3:00

GoogleCodeExporter commented 8 years ago
Also, can you test with a version of mplayer that is not ancient.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 3:19

GoogleCodeExporter commented 8 years ago
Here's the new gdb log.

(gdb) up
#5  0x084795ac in gtk_widget_set_size_request () from
/usr/local/lib/libgtk-x11-2.0.so.1400.1
(gdb) print drawing_area
$1 = (GtkWidget *) 0x8496a6e8
(gdb) print new_width
No symbol "new_width" in current context.
(gdb) print new_height
No symbol "new_height" in current context.

Original comment by dco...@gmail.com on 11 Feb 2009 at 3:28

Attachments:

GoogleCodeExporter commented 8 years ago
gtk_widget_set_size_request(drawing_area, new_width, new_height);

is the line of code, so that seems just wrong that those are not defined, 
perhaps you
need to go up one more time, ah I see you did that in the log... anyway, it sure
looks like the line you are reporting as not being a widget, seems to actually 
be a
widget..  I guess I'll have to install OpenBSD.. (not real happy about that 
cause it
is gonna take several hrs to get it working). I have retested on FreeBSD and 
Linux
and can't duplicate the issue there.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 3:37

GoogleCodeExporter commented 8 years ago
You can try with BSDanywhere live cd to speed up things:

http://www.ini.uzh.ch/~stephan/bsdanywhere/4.4/bsdanywhere44-i386.iso

ciao,
david

Original comment by dco...@gmail.com on 11 Feb 2009 at 3:46

GoogleCodeExporter commented 8 years ago
Ok, I installed openbsd 4.4 and tested it in qemu and it works there.. really 
kinda
slow, but it does work with out errors, with fullscreen and resizing the window.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 6:08

GoogleCodeExporter commented 8 years ago
Ok, I got kvm working and that helped with the performance of OpenBSD 4.4 on my
machine. I was using the cirrus driver with both x11 and gl modes (xv is not
supported in qemu). So perhaps you may need to try another vo. 

If xv does not work but x11 and gl (if your gl is accelerated), then you will 
have to
see if there is a problem with mplayer, since I don't think the issue is in
gnome-mplayer at this time.

Original comment by kdeko...@gmail.com on 11 Feb 2009 at 6:46

GoogleCodeExporter commented 8 years ago
Follow up to this, since you changed to using emails, is that I can't duplicate 
this
in OpenBSD 4.5 either, running i VMWare.

So can we close this issue?

Original comment by kdeko...@gmail.com on 13 Feb 2009 at 7:04

GoogleCodeExporter commented 8 years ago
ok, close it.

-ciao-
david

Original comment by dco...@gmail.com on 14 Feb 2009 at 4:34

GoogleCodeExporter commented 8 years ago

Original comment by kdeko...@gmail.com on 14 Feb 2009 at 5:20