code: def struct_from_value( cls, name, volume,
  			channel_list=None, mute=False, device=None ):
  		'Same arguments as with class instance init.'
  		chan_map = c.PA_CHANNEL_MAP()
  		if not channel_list: c.pa.channel_map_init_mono(chan_map)
  		else:
  			if not is_str(channel_list):
  				channel_list = b','.join(map(c.force_bytes, channel_list))
  			c.pa.channel_map_parse(chan_map, channel_list)
  		if not isinstance(volume, PulseVolumeInfo):
  			volume = PulseVolumeInfo(volume, chan_map.channels)
  		struct = c.PA_EXT_STREAM_RESTORE_INFO(
  			name=c.force_bytes(name),
  			mute=int(bool(mute)), device=c.force_bytes(device),
  			channel_map=chan_map, volume=volume.to_struct() )
  		return strucf struct_from_value( cls, name, volume,
  			channel_list=None, mute=False, device=None ):
  		'Same arguments as with class instance init.'
  		chan_map = c.PA_CHANNEL_MAP()
  		if not channel_list: c.pa.channel_map_init_mono(chan_map)
  		else:
  			if not is_str(channel_list):
  				channel_list = b','.join(map(c.force_bytes, channel_list))
  			c.pa.channel_map_parse(chan_map, channel_list)
  		if not isinstance(volume, PulseVolumeInfo):
  			volume = PulseVolumeInfo(volume, chan_map.channels)
  		struct = c.PA_EXT_STREAM_RESTORE_INFO(
  			name=c.force_bytes(name),
  			mute=int(bool(mute)), device=c.force_bytes(device),
  			channel_map=chan_map, volume=volume.to_struct() )
  		return struct
docs: Same arguments as with class instance init.