Esempio n. 1
0
void BinkDecoder::close() {
	reset();

	if (_audioStream) {
		// Stop audio
		g_system->getMixer()->stopHandle(_audioHandle);
		_audioStream = 0;
	}

	_audioStarted = false;

	for (int i = 0; i < 4; i++) {
		delete[] _curPlanes[i]; _curPlanes[i] = 0;
		delete[] _oldPlanes[i]; _oldPlanes[i] = 0;
	}

	deinitBundles();

	for (int i = 0; i < 16; i++) {
		delete _huffman[i];
		_huffman[i] = 0;
	}

	delete _bink; _bink = 0;
	_surface.free();

	_audioTrack = 0;

	for (int i = 0; i < kSourceMAX; i++) {
		_bundles[i].countLength = 0;

		_bundles[i].huffman.index = 0;
		for (int j = 0; j < 16; j++)
			_bundles[i].huffman.symbols[j] = j;

		_bundles[i].data     = 0;
		_bundles[i].dataEnd  = 0;
		_bundles[i].curDec   = 0;
		_bundles[i].curPtr   = 0;
	}

	for (int i = 0; i < 16; i++) {
		_colHighHuffman[i].index = 0;
		for (int j = 0; j < 16; j++)
			_colHighHuffman[i].symbols[j] = j;
	}

	_audioTracks.clear();
	_frames.clear();
}
Esempio n. 2
0
Bink::~Bink() {
    VideoDecoder::deinit();

    for (int i = 0; i < 4; i++) {
        delete[] _curPlanes[i];
        delete[] _oldPlanes[i];
    }

    deinitBundles();

    for (int i = 0; i < 16; i++)
        delete _huffman[i];

    delete _bink;
}
Esempio n. 3
0
void BinkDecoder::close() {
	reset();

	// Stop audio
	stopAudio();

	for (int i = 0; i < 4; i++) {
		delete[] _curPlanes[i]; _curPlanes[i] = 0;
		delete[] _oldPlanes[i]; _oldPlanes[i] = 0;
	}

	deinitBundles();

	for (int i = 0; i < 16; i++) {
		delete _huffman[i];
		_huffman[i] = 0;
	}

	delete _bink; _bink = 0;
	_surface.free();

	_audioTrack = 0;

	for (int i = 0; i < kSourceMAX; i++) {
		_bundles[i].countLength = 0;

		_bundles[i].huffman.index = 0;
		for (int j = 0; j < 16; j++)
			_bundles[i].huffman.symbols[j] = j;

		_bundles[i].data     = 0;
		_bundles[i].dataEnd  = 0;
		_bundles[i].curDec   = 0;
		_bundles[i].curPtr   = 0;
	}

	for (int i = 0; i < 16; i++) {
		_colHighHuffman[i].index = 0;
		for (int j = 0; j < 16; j++)
			_colHighHuffman[i].symbols[j] = j;
	}

	_audioTracks.clear();
	_frames.clear();
}