[MPlayer-users] Terminal settings not restored after playing DVB(-T) on Linux

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Wed Nov 5 19:59:31 CET 2008


On Tue, Nov 04, 2008 at 08:57:42PM -0800, Mike Mohr wrote:
> This isn't fixed yet:
> 
> Playing dvb://ION.
> ERROR OPENING FRONTEND DEVICE /dev/dvb/adapter0/frontend0: ERRNO 16
> DVB_SET_CHANNEL2, COULDN'T OPEN DEVICES OF CARD: 0, EXIT
> ERROR, COULDN'T SET CHANNEL  10: Failed to open dvb://ION.
> Select error: Bad file descriptor
> 
> the problem is still present when mplayer exits on error.

Are you sure this is a regression? I'd think that bug has been there
since forever...
Anyway, you could try attached patch...
-------------- next part --------------
Index: stream/stream_dvb.c
===================================================================
--- stream/stream_dvb.c	(revision 27896)
+++ stream/stream_dvb.c	(working copy)
@@ -614,6 +614,7 @@
 #ifndef CONFIG_DVB_HEAD
 	close(priv->sec_fd);
 #endif
+	priv->fe_fd = priv->sec_fd = priv->dvr_fd = -1;
 
 	priv->is_on = 0;
 	dvb_free_config(priv->config);
@@ -685,6 +686,7 @@
 		return STREAM_ERROR;
 
 	priv = (dvb_priv_t *)stream->priv;
+	priv->fe_fd = priv->sec_fd = priv->dvr_fd = -1;
 	priv->config = dvb_get_config();
 	if(priv->config == NULL)
 	{
Index: stream/dvb_tune.c
===================================================================
--- stream/dvb_tune.c	(revision 27896)
+++ stream/dvb_tune.c	(working copy)
@@ -117,9 +117,7 @@
 		mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR OPENING FRONTEND DEVICE %s: ERRNO %d\n", frontend_dev, errno);
 		return 0;
 	}
-#ifdef CONFIG_DVB_HEAD
-	priv->sec_fd=-1;
-#else
+#ifndef CONFIG_DVB_HEAD
 	priv->sec_fd = open(sec_dev, O_RDWR);
 	if(priv->sec_fd < 0)
 	{


More information about the MPlayer-users mailing list