Class Implementing Layer 3 Decoder. * @since 0.0
Inheritance: FrameDecoder
コード例 #1
0
ファイル: Decoder.cs プロジェクト: RHY3756547/FreeSO
        protected internal virtual FrameDecoder retrieveDecoder(Header header, Bitstream stream, int layer)
        {
            FrameDecoder decoder = null;

            // REVIEW: allow channel output selection type
            // (LEFT, RIGHT, BOTH, DOWNMIX)
            switch (layer)
            {

                case 3:
                    if (l3decoder == null)
                    {
                        l3decoder = new LayerIIIDecoder(stream, header, filter1, filter2, output, (int)OutputChannelsEnum.BOTH_CHANNELS);
                    }

                    decoder = l3decoder;
                    break;

                case 2:
                    if (l2decoder == null)
                    {
                        l2decoder = new LayerIIDecoder();
                        l2decoder.create(stream, header, filter1, filter2, output, (int)OutputChannelsEnum.BOTH_CHANNELS);
                    }
                    decoder = l2decoder;
                    break;

                case 1:
                    if (l1decoder == null)
                    {
                        l1decoder = new LayerIDecoder();
                        l1decoder.create(stream, header, filter1, filter2, output, (int)OutputChannelsEnum.BOTH_CHANNELS);
                    }
                    decoder = l1decoder;
                    break;
                }

            if (decoder == null)
            {
                throw newDecoderException(javazoom.jl.decoder.DecoderErrors_Fields.UNSUPPORTED_LAYER, null);
            }

            return decoder;
        }
コード例 #2
0
ファイル: LayerIIIDecoder.cs プロジェクト: RHY3756547/FreeSO
 public Sftable(LayerIIIDecoder enclosingInstance, int[] thel, int[] thes)
 {
     InitBlock(enclosingInstance);
     l = thel;
     s = thes;
 }
コード例 #3
0
ファイル: LayerIIIDecoder.cs プロジェクト: RHY3756547/FreeSO
 private void InitBlock(LayerIIIDecoder enclosingInstance)
 {
     this.enclosingInstance = enclosingInstance;
 }
コード例 #4
0
ファイル: LayerIIIDecoder.cs プロジェクト: RHY3756547/FreeSO
 public Sftable(LayerIIIDecoder enclosingInstance)
 {
     InitBlock(enclosingInstance);
     l = new int[5];
     s = new int[3];
 }