diff stream/stream_dvb.c @ 25377:31e0937ebe38

dvb cleanup: call dvb_(set|step)_channel() without dereferencing stream->priv (1000l to me)
author nicodvb
date Sat, 15 Dec 2007 13:05:06 +0000
parents 3110688d2406
children 9befb9809011
line wrap: on
line diff
--- a/stream/stream_dvb.c	Sat Dec 15 12:17:51 2007 +0000
+++ b/stream/stream_dvb.c	Sat Dec 15 13:05:06 2007 +0000
@@ -469,11 +469,11 @@
 
 static void dvbin_close(stream_t *stream);
 
-int dvb_set_channel(dvb_priv_t *priv, int card, int n)
+int dvb_set_channel(stream_t *stream, int card, int n)
 {
 	dvb_channels_list *new_list;
 	dvb_channel_t *channel;
-	stream_t *stream  = (stream_t*) priv->stream;
+	dvb_priv_t *priv = stream->priv;
 	char buf[4096];
 	dvb_config_t *conf = (dvb_config_t *) priv->config;
 	int devno;
@@ -557,10 +557,11 @@
 
 
 
-int dvb_step_channel(dvb_priv_t *priv, int dir)
+int dvb_step_channel(stream_t *stream, int dir)
 {
 	int new_current;
 	dvb_channels_list *list;
+	dvb_priv_t *priv = stream->priv;
 
 	mp_msg(MSGT_DEMUX, MSGL_V, "DVB_STEP_CHANNEL dir %d\n", dir);
 
@@ -579,7 +580,7 @@
 
 	new_current = (list->NUM_CHANNELS + list->current + (dir == DVB_CHANNEL_HIGHER ? 1 : -1)) % list->NUM_CHANNELS;
 
-	return dvb_set_channel(priv, priv->card, new_current);
+	return dvb_set_channel(stream, priv->card, new_current);
 }
 
 
@@ -640,7 +641,7 @@
 	}
 
 
-	if(!dvb_set_channel(priv, priv->card, priv->list->current))
+	if(!dvb_set_channel(stream, priv->card, priv->list->current))
 	{
 		mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR, COULDN'T SET CHANNEL  %i: ", priv->list->current);
 		dvbin_close(stream);