Exemplo n.º 1
0
 public Codec(ICodecFactory cf, Analyzer a)
 {
     decoder = cf.GetDecoder ();
     encoder = cf.GetEncoder ();
     analyzer = a;
     analyzer.BindListDelegate (this.GetDataFromAnalyzer);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Sets the <see cref="ICodecFactory"/> instance used to instantiate
 /// <see cref="Codec"/> subclasses.
 /// </summary>
 /// <param name="codecFactory">The new <see cref="ICodecFactory"/>.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="codecFactory"/> parameter is <c>null</c>.</exception>
 public static void SetCodecFactory(ICodecFactory codecFactory)
 {
     if (codecFactory == null)
     {
         throw new ArgumentNullException("codecFactory");
     }
     Codec.codecFactory = codecFactory;
 }
Exemplo n.º 3
0
 public XmlProjectSerializerFactory(string resourceSchemaFileName,
                                    ICodecFactory codecFactory, IColorFactory colorFactory, IEnumerable <IProjectResource> globalResources)
 {
     _resourceSchemaFileName = resourceSchemaFileName;
     _codecFactory           = codecFactory;
     _colorFactory           = colorFactory;
     GlobalResources         = globalResources.ToList();
 }
Exemplo n.º 4
0
        protected LuceneTestFrameworkInitializer()
        {
            codecFactory           = new TestCodecFactory();
            docValuesFormatFactory = new TestDocValuesFormatFactory();
            postingsFormatFactory  = new TestPostingsFormatFactory();
            configurationFactory   = new TestConfigurationFactory();

            useTempLineDocsFileRule = new UseTempLineDocsFileRule();
        }
Exemplo n.º 5
0
 /// <summary>
 /// Sets the <see cref="ICodecFactory"/> instance used to instantiate
 /// <see cref="Codec"/> subclasses.
 /// </summary>
 /// <param name="codecFactory">The new <see cref="ICodecFactory"/>.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="codecFactory"/> parameter is <c>null</c>.</exception>
 public static void SetCodecFactory(ICodecFactory codecFactory)
 {
     if (codecFactory == null)
     {
         throw new ArgumentNullException("codecFactory");
     }
     Codec.codecFactory = codecFactory;
     defaultCodec       = Codec.ForName("Lucene46");
 }
Exemplo n.º 6
0
 public XmlProjectReader(XmlSchemaSet resourceSchema,
                         ICodecFactory codecFactory, IColorFactory colorFactory, IEnumerable <IProjectResource> globalResources)
 {
     _resourceSchema       = resourceSchema;
     _codecFactory         = codecFactory;
     _colorFactory         = colorFactory;
     _globalResources      = globalResources.ToList();
     _globalDefaultPalette = _globalResources.OfType <Palette>().First();
 }
Exemplo n.º 7
0
 public AudioJitterQueue(ICodecFactory codecFactory, IVideoQualityController videoQualityController, MediaStatistics mediaStatistics = null)
 {
     _codecFactory           = codecFactory;
     AudioDecoder            = codecFactory.GetAudioDecoder(AudioCodecType.Speex);  // Default to Speex.
     _videoQualityController = videoQualityController;
     _queue     = new PriorityQueue <AudioJitterQueueEntry>();
     _logger    = new AudioJitterQueueLogger(mediaStatistics);
     _entryPool = new ObjectPool <AudioJitterQueueEntry>(() => new AudioJitterQueueEntry());
     SetDefaults();
 }
Exemplo n.º 8
0
        public TcpChannel(AddressFamily family, ICodecFactory <IMessage> codecFactory, IHandshakeHandler handshakeHandler) : base(codecFactory, handshakeHandler)
        {
            if (family != AddressFamily.InterNetwork && family != AddressFamily.InterNetworkV6)
            {
                throw new ArgumentException("family");
            }

            this.family = family;
            this.adaptiveAddressFamily = false;
        }
Exemplo n.º 9
0
        private static long Run(long messageCount, ICodecFactory codecFactory)
        {
            var source = new DataSource();

            var seq = new TransmissionSequence();

            Console.WriteLine();
            Console.WriteLine("Start...");

            var totalBytesTransmitted = seq.Run(source, codecFactory.CreateEncoder(), codecFactory.CreateDecoder(), messageCount, false);

            Console.WriteLine($"Result for Codec '{codecFactory.Name}'");
            Console.WriteLine($"Total bytes transmitted: {totalBytesTransmitted}");
            Console.WriteLine(FormattableString.Invariant($"({totalBytesTransmitted/1024.0:F1}kB, {totalBytesTransmitted/(1024*1024):F1}MB)"));

            return(totalBytesTransmitted);
        }
Exemplo n.º 10
0
        public override void InstallBindings()
        {
            ICodecFactory codecFactory = BuildFactory();
            var           encoder      = codecFactory.CreateEncoder(OpusDefaults.CodecId);

            Container.Bind <PluginConfig>().FromInstance(Plugin.Config ?? throw new InvalidOperationException("Plugin.Config is null"));
            Container.Bind <IVoiceSettings>().FromInstance(Plugin.Config);
            Container.Bind <IPTTConfig>().FromInstance(Plugin.Config.InputSettings);
            Container.Bind <IInputController>().To <InputController>().AsSingle();
            Container.Bind <ICodecFactory>().FromInstance(codecFactory);
            Container.Bind <IEncoder>().FromInstance(encoder);
            Container.BindInterfacesAndSelfTo <VoipSender>().AsSingle();
            Container.Bind <VoipReceiver>().FromNewComponentOnRoot().AsTransient();
            Container.BindInterfacesAndSelfTo <VoiceChatPacketRouter>().AsSingle();
            Container.Bind <SessionTracker>().AsSingle();

            //GameServerPlayerTableCell_Patch.SessionTracker = Container.Resolve<SessionTracker>();
        }
Exemplo n.º 11
0
    public MagitekResults LoadXmlCodecs(string codecsPath)
    {
        var formats    = new Dictionary <string, IGraphicsFormat>();
        var serializer = new XmlGraphicsFormatReader(_schemaFileName);
        var errors     = new List <string>();

        foreach (var formatFileName in Directory.GetFiles(codecsPath).Where(x => x.EndsWith(".xml")))
        {
            var result = serializer.LoadFromFile(formatFileName);

            result.Switch(success =>
            {
                if (formats.ContainsKey(success.Result.Name))
                {
                    errors.Add($"Failed to load XML codec '{formatFileName}'");
                    errors.AddRange(new[] { $"XML codec with name '{formatFileName}' already exists" });
                }
                else
                {
                    formats.Add(success.Result.Name, success.Result);
                }
            },
                          fail =>
            {
                errors.Add($"Failed to load XML codec '{formatFileName}'");
                errors.AddRange(fail.Reasons);
            });
        }

        CodecFactory = new CodecFactory(formats);

        if (errors.Any())
        {
            return(new MagitekResults.Failed(errors));
        }
        else
        {
            return(MagitekResults.SuccessResults);
        }
    }
Exemplo n.º 12
0
    /// <summary>
    /// Constructs a new SequentialArranger
    /// </summary>
    /// <param name="arrangerWidth">Width of arranger in elements</param>
    /// <param name="arrangerHeight">Height of arranger in elements</param>
    /// <param name="dataSource"><see cref="DataSource"/> assigned to each <see cref="ArrangerElement"/></param>
    /// <param name="palette"><see cref="Palette"/> assigned to each <see cref="ArrangerElement"/></param>
    /// <param name="codecFactory">Factory responsible for creating new codecs</param>
    /// <param name="codecName">Name of codec each Element will be initialized to</param>
    public SequentialArranger(int arrangerWidth, int arrangerHeight, DataSource dataSource, Palette palette, ICodecFactory codecFactory, string codecName)
    {
        Mode             = ArrangerMode.Sequential;
        FileSize         = dataSource.Length;
        Name             = dataSource.Name;
        ActiveDataSource = dataSource;
        ActivePalette    = palette;
        _codecs          = codecFactory;

        ActiveCodec = _codecs.GetCodec(codecName, default);
        ColorType   = ActiveCodec.ColorType;

        Layout = ActiveCodec.Layout switch
        {
            ImageLayout.Tiled => ElementLayout.Tiled,
            ImageLayout.Single => ElementLayout.Single,
            _ => throw new InvalidOperationException($"{nameof(SequentialArranger)}.ctor was called with an invalid {nameof(ImageLayout)}")
        };

        ElementPixelSize = new Size(ActiveCodec.Width, ActiveCodec.Height);
        TileLayout       = TileLayout.Default;

        Resize(arrangerWidth, arrangerHeight);
    }
Exemplo n.º 13
0
 public TcpChannel(ICodecFactory <IMessage> codecFactory) : base(codecFactory)
 {
 }
 public ChannelBase(ICodecFactory <IMessage> codecFactory)
 {
     this.codecFactory = codecFactory ?? throw new ArgumentNullException("codecFactory");
 }
 public ChannelBase(ICodecFactory <IMessage> codecFactory, IHandshakeHandler handshakeHandler)
 {
     this.codecFactory     = codecFactory ?? throw new ArgumentNullException("codecFactory");
     this.handshakeHandler = handshakeHandler;
 }
Exemplo n.º 16
0
 /// <summary>
 /// Sets the <see cref="ICodecFactory"/> instance used to instantiate
 /// <see cref="Codec"/> subclasses.
 /// </summary>
 /// <param name="codecFactory">The new <see cref="ICodecFactory"/>.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="codecFactory"/> parameter is <c>null</c>.</exception>
 public static void SetCodecFactory(ICodecFactory codecFactory)
 {
     Codec.codecFactory = codecFactory ?? throw new ArgumentNullException(nameof(codecFactory));
 }
Exemplo n.º 17
0
 public TcpChannel(ICodecFactory <IMessage> codecFactory, IHandshakeHandler handshakeHandler) : base(codecFactory, handshakeHandler)
 {
 }
Exemplo n.º 18
0
 static Codec()
 {
     codecFactory = new DefaultCodecFactory();
     defaultCodec = Codec.ForName("Lucene46");
 }
        public VoiceChatPacketRouter(IMultiplayerSessionManager sessionManager, VoipSender voipSender, ICodecFactory codecFactory, DiContainer container)
        {
            _container     = container;
            SessionManager = sessionManager;
            //ConnectionManager = connectionManager;
            //VoipReceiver = voipReceiver;
            CodecFactory = codecFactory;
            VoipSender   = voipSender;
#if DEBUG
            dummyReceiver = container.InstantiateComponentOnNewGameObject <VoipReceiver>();
            var settings = new Codecs.Opus.OpusSettings()
            {
                SampleRate = 48000, Channels = 1
            };
            dummyReceiver.Initialize(sessionManager.localPlayer, codecFactory.CreateDecoder(Codecs.Opus.OpusDefaults.CodecId, settings));
            voipSender.OnAudioGenerated += (s, e) => { dummyReceiver.HandleAudioDataReceived(s, e); };
#endif
            AddEvents();
            sessionManager.RegisterSerializer((MultiplayerSessionManager.MessageType) 128, _mainSerializer);
            _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.VoiceData, _voipDataSerializer);
            _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.InfoRequest, _voipMetadataSerializer);
            _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.VoiceMetadata, _voipMetadataSerializer);
            _voipDataSerializer.RegisterCallback((byte)VoipPacketType.VoiceData, HandleVoipDataPacket, VoipDataPacket.Obtain);
            Plugin.Log?.Debug($"VoiceChatPacketRouter Constructed.");
            foreach (IConnectedPlayer?player in sessionManager.connectedPlayers)
            {
                if (!player.isMe)
                {
                    CreatePlayerVoipReceiver(player.userId, player);
                }
            }
            //if (sessionManager.isConnected)
            IsConnected = true;
        }
Exemplo n.º 20
0
    public static ScatteredArranger CreateIndexedArrangerFromImage(string imageFile, ColorModel colorModel,
                                                                   bool zeroIndexTransparent, ICodecFactory factory, IGraphicsCodec codec)
    {
        var image        = new Bitmap(imageFile);
        var imagePalette = image.Palette;

        var palette      = new Palette("testPalette", new ColorFactory(), colorModel, zeroIndexTransparent, PaletteStorageSource.Project);
        var colorSources = imagePalette.Entries
                           .Select(x => new ProjectNativeColorSource(new ColorRgba32(x.R, x.G, x.B, x.A)));

        palette.SetColorSources(colorSources);

        var file   = new MemoryDataSource("test", image.Width * image.Height);
        var elemsX = image.Width / codec.Width;
        var elemsY = image.Height / codec.Height;

        var arranger = new ScatteredArranger("testArranger", PixelColorType.Indexed, ElementLayout.Tiled, elemsX, elemsY, codec.Width, codec.Height);

        var address = new BitAddress(0);

        for (int y = 0; y < elemsY; y++)
        {
            for (int x = 0; x < elemsX; x++)
            {
                var element = new ArrangerElement(x, y, file, address, factory.CloneCodec(codec), palette);
                address += codec.StorageSize;

                arranger.SetElement(element, x, y);
            }
        }

        return(arranger);
    }