final void parse_frame() {
        // Convert Bytes read to int
        for (k = 0,b=0; k < framesize; k += 4) {
            b0 = frame_bytes[k];
            if (k + 3 < framesize) {
                b3 = frame_bytes[k + 3];
                b2 = frame_bytes[k + 2];
                b1 = frame_bytes[k + 1];
            } else if (k + 2 < framesize) {
                b3 = 0;
                b2 = frame_bytes[k + 2];
                b1 = frame_bytes[k + 1];
            } else if (k + 1 < framesize) {
                b2 = b3 = 0;
                b1 = frame_bytes[k + 1];
            }
            // 4 bytes are stored in a int array
            framebuffer[b++] = ((b0 << 24) & 0xFF000000) | ((b1 << 16) & 0x00FF0000) | ((b2 << 8) & 0x0000FF00) | (b3 & 0x000000FF);
        }
        
        wordpointer = bitindex = 0;
    }