bool PushBody(ArraySegment <Byte> bytes)
        {
            bool hasNewFrame = false;

            var i = 0;

            while (i < bytes.Count)
            {
                i = m_next.Push(bytes, i);
                if (m_next.IsFill)
                {
                    YUVFrameReader tmp;
                    lock (m_currentLock)
                    {
                        tmp       = m_current;
                        m_current = m_next;
                    }
                    m_next = tmp;
                    m_next.Clear(m_frameNumber++);
                    hasNewFrame = true;
                }
            }

            return(hasNewFrame);
        }