Diff for /margi2/dvb_demux.c between versions 1.5 and 1.6

version 1.5, 2001/04/25 15:31:09 version 1.6, 2001/05/15 12:40:21
Line 418  dmx_ts_feed_set_type(dmx_ts_feed_t *feed Line 418  dmx_ts_feed_set_type(dmx_ts_feed_t *feed
 }  }
   
 static int   static int 
   dmx_pid_set(__u16 pid, dvb_demux_feed_t *dvbdmxfeed)
   {
           dvb_demux_t *dvbdmx=dvbdmxfeed->demux;
           dvb_demux_feed_t **pid2feed=dvbdmx->pid2feed;
   
           if (pid>0x1fff)
                   return -EINVAL;
           if (dvbdmxfeed->pid!=0xffff) {
                   if (dvbdmxfeed->pid<=0x1fff)
                           pid2feed[dvbdmxfeed->pid]=0;
                   dvbdmxfeed->pid=0xffff;
           }
           if (pid2feed[pid])
                   return -EBUSY;
           pid2feed[pid]=dvbdmxfeed;
           dvbdmxfeed->pid=pid;
           return 0;
   }
   
   
   static int 
 dmx_ts_feed_set(struct dmx_ts_feed_s* feed,  dmx_ts_feed_set(struct dmx_ts_feed_s* feed,
                 __u16 pid,                  __u16 pid,
                 size_t callback_length,                   size_t callback_length, 
Line 427  dmx_ts_feed_set(struct dmx_ts_feed_s* fe Line 448  dmx_ts_feed_set(struct dmx_ts_feed_s* fe
                 )                  )
 {  {
         dvb_demux_feed_t *dvbdmxfeed=(dvb_demux_feed_t *) feed;          dvb_demux_feed_t *dvbdmxfeed=(dvb_demux_feed_t *) feed;
   #if 0
         dvb_demux_t *dvbdmx=dvbdmxfeed->demux;          dvb_demux_t *dvbdmx=dvbdmxfeed->demux;
   
         if (pid>0x1fff)          if (pid>0x1fff)
Line 441  dmx_ts_feed_set(struct dmx_ts_feed_s* fe Line 463  dmx_ts_feed_set(struct dmx_ts_feed_s* fe
   
         dvbdmx->pid2feed[pid]=dvbdmxfeed;          dvbdmx->pid2feed[pid]=dvbdmxfeed;
         dvbdmxfeed->pid=pid;          dvbdmxfeed->pid=pid;
   #else
           int ret;
           
           ret=dmx_pid_set(pid, dvbdmxfeed);
           if (ret<0)
               return ret;
   #endif
   
         dvbdmxfeed->buffer_size=circular_buffer_size;          dvbdmxfeed->buffer_size=circular_buffer_size;
         dvbdmxfeed->descramble=descramble;          dvbdmxfeed->descramble=descramble;
Line 639  dmx_section_feed_set(struct dmx_section_ Line 668  dmx_section_feed_set(struct dmx_section_
         dvb_demux_feed_t *dvbdmxfeed=(dvb_demux_feed_t *) feed;          dvb_demux_feed_t *dvbdmxfeed=(dvb_demux_feed_t *) feed;
         dvb_demux_t *dvbdmx=dvbdmxfeed->demux;          dvb_demux_t *dvbdmx=dvbdmxfeed->demux;
   
         //printk ("function : %s  PID %04x\n", __FUNCTION__, pid);  
   
         if (pid>0x1fff)          if (pid>0x1fff)
                 return -EINVAL;                  return -EINVAL;
         if (dvbdmxfeed->pid!=0xffff) {          if (dvbdmxfeed->pid!=0xffff) {
Line 650  dmx_section_feed_set(struct dmx_section_ Line 677  dmx_section_feed_set(struct dmx_section_
         if (dvbdmx->pid2feed[pid])          if (dvbdmx->pid2feed[pid])
                 return -EBUSY;                  return -EBUSY;
         dvbdmx->pid2feed[pid]=dvbdmxfeed;          dvbdmx->pid2feed[pid]=dvbdmxfeed;
   
         dvbdmxfeed->pid=pid;          dvbdmxfeed->pid=pid;
   
         dvbdmxfeed->buffer_size=circular_buffer_size;          dvbdmxfeed->buffer_size=circular_buffer_size;
         dvbdmxfeed->descramble=descramble;          dvbdmxfeed->descramble=descramble;
         if (dvbdmxfeed->descramble)          if (dvbdmxfeed->descramble)

Removed from v.1.5  
changed lines
  Added in v.1.6


LinuxTV legacy CVS <linuxtv.org/cvs>