Opened 17 years ago
Last modified 13 years ago
#617 new defect
Signal 8 when using xv
Reported by: | Owned by: | reimar | |
---|---|---|---|
Priority: | normal | Component: | vo |
Version: | 1.0rc1 | Severity: | normal |
Keywords: | Cc: | kdekorte@… | |
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
Using xv with -vid broke between pre7 and pre8, as discussed on the list here:
http://lists.mplayerhq.hu/pipermail/mplayer-users/2006-August/062007.html
I know the man page says -vid is not supported with xv, but it used to work
fine, and now playing videos using mplayerplug-in is broken. x11 output uses too
much cpu to keep audio and video in sync.
I have traced the problem to this specific patch:
http://svn.mplayerhq.hu/mplayer/trunk/libvo/vo_xv.c?r1=15213&r2=15541
Any ideas how to fix this?
Thanks!
Change History (8)
comment:1 by , 17 years ago
comment:2 by , 17 years ago
I think I found a workaround to this... Adding and XFlush and an if block seems
to help this issue alot. The XFlush seemed to really help alot on this, as
perhaps the Window was not completely setup and visible yet.
XMapWindow(mDisplay, vo_window);
XFlush(mDisplay);
XGetGeometry(mDisplay, vo_window, &mRoot,
&drwX, &drwY, &vo_dwidth, &vo_dheight,
&drwBorderWidth, &drwDepth);
if (vo_dwidth > 0 && vo_dheight > 0) {
drwX = drwY = 0; coordinates need to be local to the window
aspect_save_prescale(vo_dwidth, vo_dheight);
}
comment:3 by , 17 years ago
Hum, doesn't seem to solve the www.24trailer.com problem, but helps with other
sites.
comment:4 by , 17 years ago
Ok, one more weird thing here...
in aspect.c in aspect_save_screenres. If I uncomment the #ifdef or I add a
simple printf(""); It works everytime. printf, must be doing something that
flushes a buffer... But I don't see anything obvious in that close other than
fflush(stdout), which doesn't really make sense as to why it would fix issues
with windows being drawn.
void aspect_save_screenres(int scrw, int scrh){
#ifdef ASPECT_DEBUG
printf("aspect_save_screenres %dx%d \n",scrw,scrh);
#endif
printf("");
aspdat.scrw = scrw;
aspdat.scrh = scrh;
if (monitor_pixel_aspect)
monitor_aspect = monitor_pixel_aspect * scrw / scrh;
}
comment:6 by , 17 years ago
I think I may have found a workaround in mplayerplug-in, in that I create the
drawing window as a 1x1 window and make it visible and then resize when mplayer
starts playing.
comment:7 by , 17 years ago
How about adding
if (vo_dwidth <= 0)
vo_dwidth = d_width;
if (vo_height <= 0)
vo_dheight = d_height;
After XGetGeometry? That might be an acceptable workaround to even commit into
MPlayer.
comment:8 by , 13 years ago
Owner: | changed from | to
---|
Maybe the window indicated via -wid is not visible or has 0-size when MPlayer is
started? IMO in that case it is not a MPlayer bug.