On Wed, Jun 16, 2010 at 11:50:18PM +0200, Alexandre Ratchov wrote:
> On Wed, Jun 16, 2010 at 09:44:16PM +0200, Adam Borbely wrote:
> > hi!
> > 
> > after updated from 4.6 to 4.7 I can not play tv with mplayer.
> > mplayer is installed as a package:
> > 
> > * mplayer-20090708p4  movie player supporting MPEG, DivX, AVI, ASF, MOV & 
> > more
> > 
> > krumpli$ r gd
> > gdb mplayer
> > GNU gdb 6.3
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain 
> > conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "i386-unknown-openbsd4.7"...(no debugging 
> > symbols found)
> > 
> > (gdb) set args -monitoraspect 16:10 -xy 2 -fstype none -zoom -vo x11 tv:// 
> > -tv driver=bsdbt848:freq=224.25
> > (gdb) break sio_setpar
> > Breakpoint 1 at 0x3dfda4c: file /usr/src/lib/libsndio/sndio.c, line 292.
> > (gdb) r
> > Starting program: /usr/local/bin/mplayer -monitoraspect 16:10 -xy 2 -fstype 
> > none -zoom -vo x11 tv:// -tv driver=bsdbt848:freq=224.25
> > Breakpoint 1 at 0xe40da4c: file /usr/src/lib/libsndio/sndio.c, line 292.
> > MPlayer SVN-r29414-snapshot-3.3.5 (C) 2000-2009 MPlayer Team
> > 
> > Playing tv://.
> > TV file format detected.
> > Selected driver: bsdbt848
> >  name: Brooktree848 Support
> >  author: Charles Henrich
> >  comment: in development
> > [Switching to process 31630, thread 0x8a620c00]
> > 
> > Breakpoint 1, sio_setpar (hdl=0x87508b00, par=0xcfbe19a0) at 
> > /usr/src/lib/libsndio/sndio.c:292
> > 292                     hdl->eof = 1;
> > (gdb) p hdl
> > $1 = (struct sio_hdl *) 0x87508b00
> > (gdb) n
> > 291                     DPRINTF("sio_getpar: already started\n");
> > (gdb) n
> > 292                     hdl->eof = 1;
> > (gdb) p hdl
> > $2 = (struct sio_hdl *) 0x87508b00
> > (gdb) r
> > The program being debugged has been started already.
> > Start it from the beginning? (y or n) n
> > Program not restarted.
> > (gdb) c
> > Continuing.
> > 
> > Breakpoint 1, sio_setpar (hdl=0x0, par=0x8512ae0c) at 
> > /usr/src/lib/libsndio/sndio.c:292
> > 292                     hdl->eof = 1;
> > (gdb) bt
> > #0  sio_setpar (hdl=0x0, par=0x8512ae0c) at 
> > /usr/src/lib/libsndio/sndio.c:292
> > #1  0x1c140188 in ?? ()
> > #2  0x00000000 in ?? ()
> > 
> > I don't know too much about sndio the only thing I see is that hdl is NUL 
> > when
> > sio_setpar is called the second time.
> > 
> > advices?
> > 
> 
> does the error occur if the bt848 is not involved? any hints
> on how to reproduce it without a bt848?
> 
> You could try to ``export SIO_DEBUG=1'' and see if you get
> more information on what causes the crash.

this is the stupidity of the bsdbt848 mplayer driver.  it has it's
own audio code.  what needs to happen (as I said when I sent the
untested patch to ports@ (and I was clear it was untested)) is to
remove the audio code from bsdbt848 completely, finish the sndio
streams code (there's a start there but it's unfinished and
untested).  actually, there's absolutely no need to use the audio
sampling interface when watching TV (recording yes, watching no).
that's the really stupid part.

oh, and if anyone ever wants to record audio/video with mencoder
using uvideo(4), the mplayer sndio streams implementation will need
to be finished.  (though I've never been able to capture any video
with mencoder and a uvideo(4)).

-- 
jake...@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to