Open zengke328 opened 3 years ago
LiveVideoBroadcaster and ExoPlayer
These two projects use librtmp Client for Android, you may want to compare your usage with these applications.
Hi @umangsaini ,
I think it's related to ExoPlayer lifecycle. I wish I could help you but I'm having very tough times for the Ant Media Server. RTMP streaming is out of our scope currently. If you want to use WebRTC for ingesting and playing, please visit https://antmedia.io and we're happy to give support.
how to switch rtmp stream when playing rtmp stream? how to pause current stream and to start new stream, i don‘’t find the demo code to learn.
because i find much exception in my project.
00 pc 00063610 /system/lib/libc.so (je_huge_salloc+7) [armeabi-v7a]
-- 2 #01 pc 00067bf7 /system/lib/libc.so (ifree+242) [armeabi-v7a] 3 #02 pc 00067f8f /system/lib/libc.so (je_free+74) [armeabi-v7a] 4 #03 pc 000076e7 /data/app/com.echat.qingning-2/lib/arm/librtmp-jni.so (RTMP_ReadPacket+454) [armeabi-v7a] 5 #04 pc 00008133 /data/app/com.echat.qingning-2/lib/arm/librtmp-jni.so (RTMP_GetNextMediaPacket+26) [armeabi-v7a] 6 #05 pc 0000a20d /data/app/com.echat.qingning-2/lib/arm/librtmp-jni.so [armeabi-v7a] 7 #06 pc 0000a1af /data/app/com.echat.qingning-2/lib/arm/librtmp-jni.so (RTMP_Read+378) [armeabi-v7a] 8 #07 pc 000037b7 /data/app/com.echat.qingning-2/lib/arm/librtmp-jni.so (Java_net_butterflytv_rtmp_1client_RtmpClient_nativeRead+46) [armeabi-v7a] 9 #08 pc 000aec99 /system/lib/libart.so (art_quick_generic_jni_trampoline+40) [armeabi-v7a] 10 #09 pc d79216af
11 java:
12 net.butterflytv.rtmp_client.RtmpClient.int read(byte[],int,int)(RtmpClient.java:265)
13 com.google.android.exoplayer2.ext.rtmp.RtmpDataSource.int read(byte[],int,int)(RtmpDataSource.java:58)
14 com.google.android.exoplayer2.upstream.DefaultDataSource.int read(byte[],int,int)(DefaultDataSource.java:204)
15 com.google.android.exoplayer2.upstream.StatsDataSource.int read(byte[],int,int)(StatsDataSource.java:92)
16 com.google.android.exoplayer2.extractor.DefaultExtractorInput.int readFromUpstream(byte[],int,int,int,boolean)(DefaultExtractorInput.java:283)
17 com.google.android.exoplayer2.extractor.DefaultExtractorInput.boolean readFully(byte[],int,int,boolean)(DefaultExtractorInput.java:75)
18 com.google.android.exoplayer2.extractor.flv.FlvExtractor.boolean readTagHeader(com.google.android.exoplayer2.extractor.ExtractorInput)(FlvExtractor.java:238)
19 com.google.android.exoplayer2.extractor.flv.FlvExtractor.int read(com.google.android.exoplayer2.extractor.ExtractorInput,com.google.android.exoplayer2.extractor.PositionHolder)(FlvExtractor.java:167)
20 com.google.android.exoplayer2.source.BundledExtractorsAdapter.int read(com.google.android.exoplayer2.extractor.PositionHolder)(BundledExtractorsAdapter.java:127)
21 com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.void load()(ProgressiveMediaPeriod.java:1050)
22 com.google.android.exoplayer2.upstream.Loader$LoadTask.void run()(Loader.java:415)
23 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
24 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
25 java.lang.Thread.run(Thread.java:761)