JNIEXPORT jint JNICALL Java_com_sun_media_sound_MixerSourceLine_nSetSampleRate(JNIEnv* e, jobject thisObj, jlong id, jint rate) { TRACE1("Java_com_sun_media_sound_MixerSourceLine_nSetSampleRate %lx.\n", id); VTRACE1("-> stream id: %lx\n", (STREAM_REFERENCE) (INT_PTR) id); // $$kk: 04.06.99: steve hales says i should be using the UNSIGNED_LONG macros here. GM_AudioStreamSetRate((STREAM_REFERENCE) (INT_PTR) id, UNSIGNED_LONG_TO_XFIXED(rate)); TRACE1("Java_com_sun_media_sound_MixerSourceLine_nSetSampleRate %lx completed.\n", id); // $$kk: 04.06.99: steve hales says i should be using the UNSIGNED_LONG macros here. return (jint)XFIXED_TO_UNSIGNED_LONG(GM_AudioStreamGetRate((STREAM_REFERENCE) (INT_PTR) id)); }
XMPEGDecodedData * XOpenMPEGStreamFromMemory(XPTR pBlock, unsigned long blockSize, OPErr *pErr) { XMPEGDecodedData *pStream; if (!pBlock || !blockSize || !pErr) { BAE_ASSERT(FALSE); return NULL; } #if WRITE_FILE PV_SetupWriteFile(); #endif pStream = (XMPEGDecodedData *)XNewPtr(sizeof(XMPEGDecodedData)); if (pStream) { pStream->stream = MPG_NewStreamFromMemory(pBlock, blockSize); if (pStream->stream) { pStream->sampleRate = UNSIGNED_LONG_TO_XFIXED(MPG_GetSampleRate(pStream->stream)); pStream->bitSize = (XBYTE)MPG_GetBitSize(pStream->stream); pStream->channels = (XBYTE)MPG_GetChannels(pStream->stream); pStream->bitrate = MPG_GetBitrate(pStream->stream); pStream->lengthInBytes = MPG_GetSizeInBytes(pStream->stream); pStream->lengthInSamples = MPG_GetNumberOfSamples(pStream->stream); pStream->frameBufferSize = (unsigned long)MPG_GetBufferSize(pStream->stream); pStream->maxFrameBuffers = (unsigned long)MPG_GetMaxBuffers(pStream->stream); *pErr = NO_ERR; } else { BAE_ASSERT(FALSE); XDisposePtr((XPTR)pStream); pStream = NULL; *pErr = BAD_FILE; } } else { BAE_ASSERT(FALSE); *pErr = MEMORY_ERR; } return pStream; }