35 { |
35 { |
36 // Native object was already deleted |
36 // Native object was already deleted |
37 User::Leave(KErrBadHandle); |
37 User::Leave(KErrBadHandle); |
38 } |
38 } |
39 CMMASourceStream* sourceStream = |
39 CMMASourceStream* sourceStream = |
40 reinterpret_cast< CMMASourceStream *>(aSourceStream); |
40 reinterpret_cast< CMMASourceStream *>(aSourceStream); |
41 |
41 |
42 sourceStream->WriteL(aData, aLength, aState); |
42 sourceStream->WriteL(aData, aLength, aState); |
43 LOG( EJavaMMAPI, EInfo, "jni SourceStreamReader.cpp: WriteDataL() -"); |
43 LOG(EJavaMMAPI, EInfo, "jni SourceStreamReader.cpp: WriteDataL() -"); |
44 } |
44 } |
45 |
45 |
46 JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_protocol_SourceStreamReader__1write |
46 JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_protocol_SourceStreamReader__1write |
47 (JNIEnv* aJni, jclass, jint aSourceStream, jint aEventSource, |
47 (JNIEnv* aJni, jclass, jint aSourceStream, jint aEventSource, |
48 jbyteArray aData, jint aLength, jint aState, jint aPlayerHandle) |
48 jbyteArray aData, jint aLength, jint aState, jint aPlayerHandle) |
49 { |
49 { |
50 LOG( EJavaMMAPI, EInfo, "SourceStreamReaderjni_write"); |
50 LOG(EJavaMMAPI, EInfo, "SourceStreamReaderjni_write"); |
51 MMAFunctionServer* eventSource = |
51 MMAFunctionServer* eventSource = |
52 reinterpret_cast< MMAFunctionServer* >(aEventSource); |
52 reinterpret_cast< MMAFunctionServer* >(aEventSource); |
53 |
53 |
54 CHECK_HANDLE(eventSource, KErrNone); |
54 CHECK_HANDLE(eventSource, KErrNone); |
55 |
55 |
56 jbyte* data = aJni->GetByteArrayElements(aData, NULL); |
56 jbyte* data = aJni->GetByteArrayElements(aData, NULL); |
57 LOG2( EJavaMMAPI, EInfo, "SourceStreamReaderjni_write , length = %d,state = %d",(TInt)aLength,(TInt)aState); |
57 LOG2(EJavaMMAPI, EInfo, "SourceStreamReaderjni_write , length = %d,state = %d",(TInt)aLength,(TInt)aState); |
58 TInt err = eventSource->ExecuteTrap(&WriteDataL, |
58 TInt err = eventSource->ExecuteTrap(&WriteDataL, |
59 aSourceStream, |
59 aSourceStream, |
60 aPlayerHandle, |
60 aPlayerHandle, |
61 eventSource, |
61 eventSource, |
62 (const TUint8*)data, |
62 (const TUint8*)data, |
63 aLength, |
63 aLength, |
64 aState); |
64 aState); |
65 ELOG1( EJavaMMAPI, "SourceStreamReaderjni_write , err = %d",err); |
65 ELOG1(EJavaMMAPI, "SourceStreamReaderjni_write , err = %d",err); |
66 aJni->ReleaseByteArrayElements(aData, data, JNI_ABORT); |
66 aJni->ReleaseByteArrayElements(aData, data, JNI_ABORT); |
67 return err; |
67 return err; |
68 } |
68 } |
69 |
69 |
70 // END OF FILE |
70 // END OF FILE |