vbartacek / aacdecoder-android Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/aacdecoder-android
License: GNU Lesser General Public License v3.0
Automatically exported from code.google.com/p/aacdecoder-android
License: GNU Lesser General Public License v3.0
What steps will reproduce the problem?
1. Try the following code in your own project:
MultiPlayer multiPlayer = null;
multiPlayer = new MultiPlayer(this, 1500, 700);
multiPlayer.playAsync(url);
2. Pass a valid url paramater to playAsync. It is a remote AAC file.
3. Observe the following error:
playAsync(): E/AACPlayer(21045): java.lang.RuntimeException: Cannot start
native decoder
E/AACPlayer(21045): at com.spoledge.aacdecoder.Decoder.start(Decoder.java:217)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:355)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:317)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:285)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
E/AACPlayer(21045): at java.lang.Thread.run(Thread.java:856)
E/PlayerNetwork(21045): Cannot start native decoder
What is the expected output? What do you see instead?
It should start playing the AAC file. I just see this error instead.
What version of the product are you using? On which device ?
Latest code. Droid Bionic, ICS 4.0.4
What is the URL of the stream ?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 15 Oct 2012 at 8:21
Seria grandioso que, la clase Player, siga la estructura de la clase
MediaPlayer del SDK de Android. Es mas, me gustaria que sea una extension de
esta para hacer mas facil la programacion.
Es mas, se podria ahorrar codigo ya que Android soporta la lectura de MP3
nativamente y se evitaria usar la libreria FFMPEG.
Original issue reported on code.google.com by bl4z3r
on 31 Jul 2013 at 4:07
What steps will reproduce the problem?
1. Use the AAC Music Player sample application to connect to an AAC stream
through a simple passthrough proxy server
2. Press play, let it stream for a bit, then press stop
What is the expected output? What do you see instead?
The player socket is not closed as you'd expect, it's left open until it
naturally times out
What version of the product are you using? On which device ?
The latest release version (0.5.1)
Please provide any additional information below.
I think this problem would be solved with a simple call to socket.close() at
the end of the loop in the run() method of AACPlayer
I can provide source code for a simple pass-through proxy server if it would
help testing.
Original issue reported on code.google.com by [email protected]
on 20 Aug 2011 at 6:59
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 1:30
I Use this url
http://173.192.207.51:8036
but listening on headphones the signal looks like it is mono.
Is decoders converts the stream to mono or stereo.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2012 at 3:36
What steps will reproduce the problem?
1. Turn off WiFi
2. turn on Mobile network data (HSDPA,3G,EDGE)
3. Play any aac stream
What is the expected output? What do you see instead?
Instead Playing stream I got this:
playAsync():
java.io.FileNotFoundException: http://37.187.90.121:3634/stream
at
libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java
:177)
at com.spoledge.aacdecoder.AACPlayer.getInputStream(AACPlayer.java:467)
at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:283)
at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
at java.lang.Thread.run(Thread.java:856)
What version of the product are you using? On which device ?
0.6.1 , Galaxy S3, Android 4.1.2
What is the URL of the stream ?
http://37.187.90.121:3634/stream
Original issue reported on code.google.com by [email protected]
on 8 Nov 2013 at 12:57
What steps will reproduce the problem?
1. Try the following code in your own project:
MultiPlayer multiPlayer = null;
multiPlayer = new MultiPlayer(this, 1500, 700);
multiPlayer.playAsync(url);
2. Pass a valid url paramater to playAsync. It is a remote AAC file.
3. Observe the following error:
playAsync(): E/AACPlayer(21045): java.lang.RuntimeException: Cannot start
native decoder
E/AACPlayer(21045): at com.spoledge.aacdecoder.Decoder.start(Decoder.java:217)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:355)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:317)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:285)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
E/AACPlayer(21045): at java.lang.Thread.run(Thread.java:856)
E/PlayerNetwork(21045): Cannot start native decoder
What is the expected output? What do you see instead?
It should start playing the AAC file. I just see this error instead.
What version of the product are you using? On which device ?
Latest code. Droid Bionic, ICS 4.0.4
What is the URL of the stream ?
http://fp-limelight.musicnet.com/mp3/mn_mp3_10_16/downloads/a090/040/003/4000344
1_2_019.mp4?e=1350330460&h=18ad5c08bedb5a8e7d29429dbeb31481
Please provide any additional information below.
This code worked for me at some point. And the example project works as well.
However, I cannot run this code in my own project anymore. I don't know what
is going on.
Original issue reported on code.google.com by [email protected]
on 15 Oct 2012 at 8:23
What steps will reproduce the problem?
1. Try it on Android 4.0
2.
3.
What is the expected output? What do you see instead?
Expected is normal use, instead I got errors.
What version of the product are you using? On which device ?
0.5.1, on Galaxy Nexus (Android 4.0.3)
Please provide any additional information below.
02-08 20:31:00.461: E/AACPlayer(16336): playAsync():
02-08 20:31:00.461: E/AACPlayer(16336): java.lang.RuntimeException: Cannot
start native decoder
02-08 20:31:00.461: E/AACPlayer(16336): at
com.spoledge.aacdecoder.Decoder.start(Decoder.java:204)
02-08 20:31:00.461: E/AACPlayer(16336): at
com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:332)
02-08 20:31:00.461: E/AACPlayer(16336): at
com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:294)
02-08 20:31:00.461: E/AACPlayer(16336): at
com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:264)
02-08 20:31:00.461: E/AACPlayer(16336): at
com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:230)
02-08 20:31:00.461: E/AACPlayer(16336): at
java.lang.Thread.run(Thread.java:856)
Original issue reported on code.google.com by [email protected]
on 8 Feb 2012 at 8:02
What steps will reproduce the problem?
1. How to registering this library..step by step?
because im not success to registering it with android studio with this step :
a. copy aacdecoder-android-0.6.1.jar & armeabi/*.so file & armeabi-v7a/*.so
file to libs folder.
b. Right click aacdecoder-android-0.6.1.jar->add Library
c. Open gradlew.bat..
But this my error on log :
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: Couldn't load aacdecoder: findLibrary returned null
Please help. step by step for registering this lib..thanks
Original issue reported on code.google.com by [email protected]
on 6 Jul 2013 at 11:43
What steps will reproduce the problem?
1. Try the following code in your own project:
MultiPlayer multiPlayer = null;
multiPlayer = new MultiPlayer(this, 1500, 700);
multiPlayer.playAsync(url);
2. Pass a valid url paramater to a remote AAC file
3. Observe the following error:
playAsync(): E/AACPlayer(21045): java.lang.RuntimeException: Cannot start
native decoder
E/AACPlayer(21045): at com.spoledge.aacdecoder.Decoder.start(Decoder.java:217)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:355)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:317)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:285)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
E/AACPlayer(21045): at java.lang.Thread.run(Thread.java:856)
E/PlayerNetwork(21045): Cannot start native decoder
What is the expected output? What do you see instead?
It should start playing the AAC file. I just see this error instead.
What version of the product are you using? On which device ?
Latest code. Droid Bionic, ICS 4.0.4
What is the URL of the stream ?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 15 Oct 2012 at 8:20
Try play url: (Response: 200 OK)
http://vip.tranceonly.ru/music/paul_van_dyk/radioshows/03_2014/vonyk_sessions_po
dcast_188_01_03_2014.mp3
But have errors:
start() frame decode error=1
start() first frame cannot be decoded - trying to sync again
start() sync was successful - used bytes=2565
[...]
start() init failed status=12
start() failed err=-1
stop() stopping native decoder
java.lang.RuntimeException: Cannot start native decoder
Original issue reported on code.google.com by [email protected]
on 2 Mar 2014 at 9:27
There is no exposed method for setting volume. AudioTrack object used in
PCMFeed.run() method provides that functionality but unfortunately it's local
variable.
Original issue reported on code.google.com by [email protected]
on 23 Apr 2012 at 12:59
Hi,
I downloaded the lib aacdecoder-android-libs-0.5.1.zip and tried to use in my
project.
I add the JAR and armeabi folder in project, and tried to run the project as an
example.
But I received the error message: "java.lang.UnsatisfiedLinkError: Could not
load aacdecoder: findLibrary returned null"
What am I doing wrong?
I tried to compile the project aacdecoder-android-0.5.1.zip as explained in the
Wiki and add libs as explained in the README file, but got the same error
message.
Could you help me?
Thank you.
PS: I am Brazilian, I'm sorry for my english
Original issue reported on code.google.com by [email protected]
on 15 Feb 2012 at 1:39
What steps will reproduce the problem?
1. MP3Player multiPlayer = new MP3Player();
2. multiPlayer.playAsync("/mnt/sdcard/example.mp3");
3. playing not starts.
What is the expected output? What do you see instead?
I can play 128k bitrate mp3 files, but can't play 192k bitrate mp3 files.(128k
higher)
What version of the product are you using? On which device ?
2.3.6 samsung galaxy player, 4.0 samsung galaxy2
What is the URL of the stream ?
mp3 files in sdcard(128k, 192k, 256k)
Please provide any additional information below.
09-28 16:48:16.929: D/dalvikvm(1454): Trying to load lib /mnt/asec/com.spoledge.aacplay-2/lib/libaacdecoder.so 0x405147f0
09-28 16:48:16.949: D/dalvikvm(1454): Added shared lib /mnt/asec/com.spoledge.aacplay-2/lib/libaacdecoder.so 0x405147f0
09-28 16:48:16.949: D/dalvikvm(1454): No JNI_OnLoad found in /mnt/asec/com.spoledge.aacplay-2/lib/libaacdecoder.so 0x405147f0, skipping init
09-28 16:48:16.953: E/MP3Player(1454): find decoder by name 'OpenCORE-MP3'
09-28 16:48:16.960: E/AACPlayerActivity(1454): playerStarted :
09-28 16:48:16.972: I/Decoder(1454): start() starting native decoder - OpenCORE-MP3
No more messages prints in log
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 28 Sep 2012 at 7:58
Hi,
you got a typo on the page: https://code.google.com/p/aacdecoder-android/
where it says "MulitPlayer aacMp3Player = new MultiPlayer( clb );" (on the end
of the page)
It should be "MultiPlayer ..." of course ;)
Original issue reported on code.google.com by [email protected]
on 15 Apr 2013 at 2:27
What steps will reproduce the problem?
1. Try the following code in your own project:
MultiPlayer multiPlayer = null;
multiPlayer = new MultiPlayer(this, 1500, 700);
multiPlayer.playAsync(url);
2. Pass a valid url paramater to playAsync. It is a remote AAC file.
3. Observe the following error:
playAsync(): E/AACPlayer(21045): java.lang.RuntimeException: Cannot start
native decoder
E/AACPlayer(21045): at com.spoledge.aacdecoder.Decoder.start(Decoder.java:217)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:355)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:317)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:285)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
E/AACPlayer(21045): at java.lang.Thread.run(Thread.java:856)
E/PlayerNetwork(21045): Cannot start native decoder
What is the expected output? What do you see instead?
It should start playing the AAC file. I just see this error instead.
What version of the product are you using? On which device ?
Latest code. Droid Bionic, ICS 4.0.4
What is the URL of the stream ?
http://fp-limelight.musicnet.com/mp3/mn_mp3_10_16/downloads/a090/040/003/4000344
1_2_019.mp4?e=1350330460&h=18ad5c08bedb5a8e7d29429dbeb31481
Please provide any additional information below.
This code worked for me at some point. However, I cannot run this code in my
own project anymore. I don't know why this error occurs.
Original issue reported on code.google.com by [email protected]
on 15 Oct 2012 at 9:02
I need my audio running in the background, but using the library aacdecoder not
found a way to solve this problem.
Is there a tutorial in which I can understand the behavior of the library to
apply the concept of Service?
Original issue reported on code.google.com by [email protected]
on 26 Sep 2012 at 12:32
When playing non-ADTS, the application crashes.
Original issue reported on code.google.com by [email protected]
on 26 May 2011 at 3:13
What steps will reproduce the problem?
1. Start stream on wifi with wifi and 3G enabled
2. Switch off wifi
3. Wait for 3G to take over
Same thing happens when switching from 3G to wifi
What is the expected output? What do you see instead?
The stream should stop for a moment while the switch from wifi to 3G happens
and continue streaming afterwards
Instead it just hangs there and logat displays the following error:
W/AudioTrack(32245): obtainBuffer() track 0x17a468 disabled, restarting
What version of the product are you using? On which device ?
Using version (sources code not jar) 0.5.1
Device is HTC Desire HD with Ice Cream Sandwich (Ice Cold Sandwich 4.0.3 ROM)
What is the URL of the stream ?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 15 May 2012 at 3:57
I am trying to see a AAC streaming, I add the com.spoledge.aacdecoder.jar file
to the project and use the import...
This is my code:
AACPlayer p = new AACPlayer();
try {
p.play("http://69.64.37.242:8000");
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "?", 5000);
e.printStackTrace();
}
//
I am getting this error:
04-30 16:52:55.159: E/dalvikvm(1363): Could not find class
'com.spoledge.aacdecoder.AACPlayer', referenced from method
test.streaming3Activity.onCreate
Original issue reported on code.google.com by [email protected]
on 30 Apr 2012 at 10:58
Errors happening in the C part are propagated to Java part, but there is no
detail information what really happened.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 1:27
What steps will reproduce the problem?
1. Could I set volume down-up
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On which device ?
1. version lib : aacdecoder-android-0.8.jar
2. version device : KitKat (Nexus 5)
What is the URL of the stream ?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 9 Feb 2014 at 5:31
What steps will reproduce the problem?
1. Try new AACPlayer().playAsync( "http://..." ) on a Galaxy S3
What is the expected output? What do you see instead?
Expected sound without vibrations, but having continuous vibrations while
listening.
What version of the product are you using? On which device ?
0.6.1, on Galaxy S3 (Android 4.0.4)
Same behavior on 0.5.1 and 0.5
What is the URL of the stream ?
http://adwzg.tdf-cdn.com/5756/nrj_113514.mp3
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 23 Apr 2013 at 1:35
What steps will reproduce the problem?
1. Try the following code in your own project:
MultiPlayer multiPlayer = null;
multiPlayer = new MultiPlayer(this, 1500, 700);
multiPlayer.playAsync(url);
2. Pass a valid url paramater to playAsync. It is a remote AAC file.
3. Observe the following error:
playAsync(): E/AACPlayer(21045): java.lang.RuntimeException: Cannot start
native decoder
E/AACPlayer(21045): at com.spoledge.aacdecoder.Decoder.start(Decoder.java:217)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.playImpl(AACPlayer.java:355)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:317)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:285)
E/AACPlayer(21045): at com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248)
E/AACPlayer(21045): at java.lang.Thread.run(Thread.java:856)
E/PlayerNetwork(21045): Cannot start native decoder
What is the expected output? What do you see instead?
It should start playing the AAC file. I just see this error instead.
What version of the product are you using? On which device ?
Latest code. Droid Bionic, ICS 4.0.4
What is the URL of the stream ?
http://fp-limelight.musicnet.com/mp3/mn_mp3_10_16/downloads/a090/040/003/4000344
1_2_019.mp4?e=1350330460&h=18ad5c08bedb5a8e7d29429dbeb31481
Please provide any additional information below.
This code worked for me at some point. And the example project works as well.
However, I cannot run this code in my own project anymore. I don't know why
this error occurs.
Original issue reported on code.google.com by [email protected]
on 15 Oct 2012 at 8:23
What steps will reproduce the problem?
I am just using the aacdecoder lib.
1. I feed data into InputStream such as 100KB.
2. I calculate the total consumed bytes as totalBytes +=
info.getRoundBytesConsumed()
3. Compare the two result after the song is completed. The total consumed bytes
are less than what I feed such just 90kb. The result is AudioTrack always
returns shorter mediatime. For example, I can calucate the overall mediatime is
20seconds by using file size and Bitrate. The AudioTrack returns just 19
seconds.
What is the expected output? What do you see instead?
Decoder should send all the data to AudioTrack? Is there another way to keep
the value consistent?
What version of the product are you using? On which device ?
aacdecoder-android-libs-0.6.1.zip
What is the URL of the stream ?
Any stream.
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 24 Sep 2013 at 12:47
What steps will reproduce the problem?
1. AACPlayer aacPlayer = new AACPlayer()
2. aacPlayer.playAsync(http://50.7.242.154:8072/, -1)
3.
What is the expected output? What do you see instead?
Should stream shoutcast stream from centovacast
What version of the product are you using? On which device ?
Latest code running on Samsung S3 or Galaxy Tab with Android 4.1.2
What is the URL of the stream ?
http://50.7.242.154:8072/
Please provide any additional information below.
It will sometimes work, but usually fails about 3 out of 4 tries with
status=30. I've looked at the settings on the shoutcast server and there does
not appear to be any issues. I've used other shoutcast AAC+ URLs with this
library and I've not had this problem.
Original issue reported on code.google.com by [email protected]
on 3 Jul 2013 at 11:38
Support for x86 architecture for Asus devices and many more that will come
after Nexus 7
Original issue reported on code.google.com by [email protected]
on 31 Aug 2012 at 4:40
I don't know why it happens. We have a looping 32bit stream on the internet
which we are using AAC decoder to play in our android app. Occationally the
stream will just stop and this will be the output on logcat:
I/Decoder ( 242): decode() detected end-of-file
D/AACPlayer( 242): play(): decoded 32768 samples
I/Decoder ( 242): decode() detected end-of-file
D/AACPlayer( 242): play(): decoded 0 samples
D/dalvikvm( 242): +++ not scanning '/system/lib/libwebcore.so' for
'nativeStop' (wrong CL)
D/dalvikvm( 242): +++ not scanning '/system/lib/libmedia_jni.so' for
'nativeStop' (wrong CL)
D/dalvikvm( 242): +++ not scanning '/system/lib/libexif.so' for 'nativeStop'
(wrong CL)
I/Decoder ( 242): stop() stopping native decoder
I/AACPlayer( 242): play(): average decoding time: 478 ms
I/AACPlayer( 242): play(): average rate (samples/sec): audio=88200,
decoding=127087, audio/decoding= 44 % (the higher, the better; negative means
that decoding is slower than needed by audio)
D/PCMFeed ( 242): run() stopped.
What is the expected output? What do you see instead?
I would EXPECT the callback to call playerStopped(). Also as this is a looping
stream there is no reason why it should stop. It would be good to potentially
diagnose a problem and throw an exception in this case so that it can be error
tracked.
What version of the product are you using? On which device ?
AAC Decoder 0.5.1 (compiled). Using this on the android emulator, google nexus
s with ICS, android 2.3 and other various devices with similar android versions.
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 24 Jan 2012 at 9:56
When playing some internet audio stream I got this error:
java.lang.IllegalArgumentException: 88200Hz is not a supported sample rate.
at android.media.AudioTrack.audioParamCheck(AudioTrack.java:369)
at android.media.AudioTrack.<init>(AudioTrack.java:312)
at android.media.AudioTrack.<init>(AudioTrack.java:265)
at com.spoledge.aacdecoder.PCMFeed.run(PCMFeed.java:277)
at java.lang.Thread.run(Thread.java:1019)
I know that this sample rate is bad but I think that this exception should be
caught. Unfortunately it is not and application is crashing because of it :(
Original issue reported on code.google.com by [email protected]
on 2 Jan 2013 at 9:26
From the main page:
"For more information about the AAC patents, please visit
http://www.vialicensing.com/licensing/AAC_index.cfm"
The link above is broken; the correct link is:
http://www.vialicensing.com/licensing/aac-fees.aspx
Original issue reported on code.google.com by LippertsJan
on 15 Apr 2013 at 10:08
What steps will reproduce the problem?
1. Point MultiPlayer to a short MP3 stream. Start as such:
MultiPlayer aacMp3Player = new MultiPlayer();
aacMp3Player.playAsync( "https://dl.dropbox.com/u/99827173/22.mp3" );
What is the expected output? What do you see instead?
When the stream ends, the unfilled buffer should be decoded and passed to the
pcm feed before ending entirely. Instead, the player ends without playing the
rest of the audio.
What version of the product are you using? On which device ?
-0.6.1
-Affects all devices.
What is the URL of the stream ?
https://dl.dropbox.com/u/99827173/21.mp3
https://dl.dropbox.com/u/99827173/22.mp3
(I've attached them to this incase they disappear from my dropbox)
Please provide any additional information below.
I've attached two different streams. One is so short nothing plays (the
AudioTrack's play method is never called) and the other is just long enough to
play a small bit then stops before playing the rest.
Thanks,
Vince
Original issue reported on code.google.com by [email protected]
on 25 Mar 2013 at 3:59
Attachments:
Poor quality - comparing to FAAD decoder:
http://188.165.20.29:8450
http://94.23.67.172:9138
On the other hand the following one is quoite good:
http://94.23.67.172:9140
Seems to be somehow related to the issue 6 - the crashing in PS code of
OpenCORE.
Proposed solution: use up-to-date OpenCORE aacdec code.
Original issue reported on code.google.com by [email protected]
on 26 Jul 2011 at 9:38
Audio stream has meta data which may contains title of playing song or other.
It is possible to read it meta data in decoder and then notify UI when meta
data was received or changed?
Original issue reported on code.google.com by [email protected]
on 18 Jul 2012 at 4:43
If anyone can help me to fix up aac+ streaming issue on KitKat (Android 4.4).
Here is the error. 11-21 23:30:36.573: E/AACPlayer(1471): playAsync(): 11-21
23:30:36.573: E/AACPlayer(1471): java.lang.NullPointerException 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer.dumpHeaders(AACPlayer.java:510) 11-21
23:30:36.573: E/AACPlayer(1471) at
com.spoledge.aacdecoder.AACPlayer.processHeaders(AACPlayer.java:497) 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.MultiPlayer.processHeaders(MultiPlayer.java:108) 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:280) 11-21 23:30:36.573:
E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248) 11-21 23:30:36.573:
E/AACPlayer(1471): at java.lang.Thread.run(Thread.java:841)
Thanks in advance.
Original issue reported on code.google.com by [email protected]
on 16 Dec 2013 at 5:42
What steps will reproduce the problem?
1. Start AACPlayer app on Galaxy SII with 4.03
2. Put the following stream url http://62.212.82.142:8140
3. Click on Player 1 (FAAD2) or Player II (FFMpeg) or Player III (openCORE)
What is the expected output? What do you see instead?
It should play the stream, though:
FAAD2: The stream is not playing, nothing interesting is shown in DDMS
FFMPeg: The app is crashing, "probe(), could not find ADTS start" is shown in
DDMS log
openCORE: The app is crashing, "probe(), could not find ADTS start" is shown in
DDMS log
What version of the product are you using? On which device ?
AACPlayer revision 21
What is the URL of the stream ?
http://62.212.82.142:8140
Please provide any additional information below.
Everything works fine on Gingerbread, the problem is only on ICS 4.03 . The
same thing happens when using the aacdecoder library instead of the AAC player
app
Original issue reported on code.google.com by [email protected]
on 27 Jun 2012 at 1:03
1) I run the radio with this url http://159.253.145.180:7020/
2) After a few seconds my application closes
The server does not send the data when it is busy.
+ + + + + + +
curl http://159.253.145.180:7020/
ICY 400 Server Full
icy-notice1: <BR> SHOUTcast Distributed Network Audio Server / Linux v1.9.8 <BR>
icy-notice2: This server has reached its user limit <BR>
+ + + + +
The audio stream is not present and the decoder is in error:
06-24 15:51:29.365: ERROR / Decoder [OpenCORE-MP3] (19239): start () frame
decode error = 11
06-24 15:51:29.365: ERROR / Decoder [OpenCORE-MP3] (19239): start () first
frame can not be decoded - trying to sync again
How can I fix the problem?
Original issue reported on code.google.com by fabri8bit
on 24 Jun 2013 at 2:04
What steps will reproduce the problem?
1. Add Intel x86 libraries to the download
Please provide any additional information below.
Please find attached the library and the changes. Please let me know if you can
add this to the project. I am with the Intel Tech Support Team. Let me know if
we are missing anything else.
Original issue reported on code.google.com by [email protected]
on 4 Dec 2013 at 7:57
Attachments:
Improve C/Java interface to provide more information from the AAC stream - e.g.
type of AAC/AAC+/E-AAC.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 1:35
Is there any chance to add Pause and Resume functionality to player?
Note: i don't know how to change the type of issue to Enhancement. Sorry.
Original issue reported on code.google.com by [email protected]
on 11 Aug 2012 at 1:23
What steps will reproduce the problem?
Try play several times one of these url's:
http://188.165.20.29:8450
or
http://217.74.72.2:9000
Press play. Listen about 5 sec. and repeat several times.
Sometimes on the first attempt application crash, sometimes
after 5 attepms.
Crashing when "Buffering..." text is show.
No any sound.
Original issue reported on code.google.com by [email protected]
on 27 Jun 2011 at 8:42
[e-mail - KD]
-------------
I'm wondering how you would extend your AAC player to allow for file caching.
That is, at the same time you're feeding the audio device with samples, you
would write the original AAC buffer to file - for later playback.
Can your AAC Player be extended with this feature? Please point me in the right
direction :)
-------------
Solution:
Probably by extending of PlaybackListener or create a new type of listener
which will be called by BufferReader just after fetching the data chunk.
Original issue reported on code.google.com by [email protected]
on 26 Jun 2011 at 8:13
What steps will reproduce the problem?
1. Displaying received meta data including special characters (like öäü).
What version of the product are you using? On which device ?
r21 on galaxy s 1 (android 2.3.6)
What is the URL of the stream ?
http://mobil.metal-only.de:8000
Please provide any additional information below.
I think the following solution works:
replacing
s = new String( mbuffer, 0, size, "UTF-8" );
with
s = new String( mbuffer, 0, size, "ISO-8859-1" );
in decoder/src/com/spoledge/aacdecoder/IcyInputStream.java
I didn't test this with other radio stations.
Original issue reported on code.google.com by [email protected]
on 12 Apr 2013 at 7:17
WakeLock like the original Android MediaPlayer WakeLock
Original issue reported on code.google.com by [email protected]
on 6 Jan 2012 at 4:40
What steps will reproduce the problem?
1.Connect wifi and start play mp3 stream
2.Disconnect wifi
3. playerStopped(int perf ) will called instead of playerException(Throwable t)
In LogCat you can see:
08-11 15:44:05.560: D/AACPlayer(31504): play(): decoded 59904 samples
08-11 15:44:06.225: D/BufferReader(31504): run() awaken
08-11 15:44:06.230: E/BufferReader(31504): Exception when reading:
java.net.SocketException: recvfrom failed: ETIMEDOUT (Connection timed out)
08-11 15:44:06.230: D/BufferReader(31504): run() stopped.
08-11 15:44:06.235: D/AACPlayer(31504): play(): decoded 59904 samples
What is the expected output? What do you see instead?
Expected that playerException(Throwable t) will be fired but instead only
playerStopped(int perf ) are called witch is wrong.
What version of the product are you using? On which device ?
The latest release version (0.6.1) on Samsung Galaxy S3
What is the URL of the stream ?
http://uk01.tc.trance.fm/128
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 11 Aug 2012 at 1:03
What steps will reproduce the problem?
I was constantly starting and ending app during development process on Xperia
Z. Decoder normally works perfectly.
What is the expected output? What do you see instead?
This has only happened twice while developing. It gives a slight chipmonk
effect on the output however returns to normal on process/app restart.
What version of the product are you using? On which device ?
0.7
What is the URL of the stream ?
http://media-ice.musicradio.com/CapitalManchesterMP3Low.m3u
Please provide any additional information below.
01-07 20:47:12.709: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:12.719: D/BufferReader(20746): next() waiting....
01-07 20:47:14.040: D/BufferReader(20746): next() awaken
01-07 20:47:14.040: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:14.040: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:14.060: D/BufferReader(20746): next() waiting....
01-07 20:47:14.100: I/engageTV(20746): Working... 2/5 @ 79642789
01-07 20:47:15.281: D/BufferReader(20746): next() awaken
01-07 20:47:15.291: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:15.291: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:15.301: D/BufferReader(20746): next() waiting....
01-07 20:47:16.793: D/BufferReader(20746): next() awaken
01-07 20:47:16.813: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:16.833: D/BufferReader(20746): next() waiting....
01-07 20:47:18.334: D/BufferReader(20746): next() awaken
01-07 20:47:18.344: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:18.354: D/BufferReader(20746): next() waiting....
01-07 20:47:19.105: I/engageTV(20746): Working... 3/5 @ 79647790
01-07 20:47:19.695: D/BufferReader(20746): next() awaken
01-07 20:47:19.705: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:19.705: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:19.705: D/BufferReader(20746): next() waiting....
01-07 20:47:21.097: D/BufferReader(20746): next() awaken
01-07 20:47:21.097: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:21.097: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:21.117: D/BufferReader(20746): next() waiting....
01-07 20:47:22.298: D/BufferReader(20746): next() awaken
01-07 20:47:22.298: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:22.298: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:22.308: D/BufferReader(20746): next() waiting....
01-07 20:47:23.739: D/BufferReader(20746): next() awaken
01-07 20:47:23.749: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:23.779: D/BufferReader(20746): next() waiting....
01-07 20:47:24.110: I/engageTV(20746): Working... 4/5 @ 79652790
01-07 20:47:25.291: D/BufferReader(20746): next() awaken
01-07 20:47:25.291: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:25.311: D/BufferReader(20746): next() waiting....
01-07 20:47:26.722: D/BufferReader(20746): next() awaken
01-07 20:47:26.742: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:26.742: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:26.762: D/BufferReader(20746): next() waiting....
01-07 20:47:28.054: D/BufferReader(20746): next() awaken
01-07 20:47:28.064: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:28.064: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:28.074: D/BufferReader(20746): next() waiting....
01-07 20:47:29.105: I/engageTV(20746): Working... 5/5 @ 79657791
01-07 20:47:29.495: D/BufferReader(20746): next() awaken
01-07 20:47:29.515: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:29.515: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:29.545: D/BufferReader(20746): next() waiting....
01-07 20:47:30.926: D/BufferReader(20746): next() awaken
01-07 20:47:30.926: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:30.936: D/BufferReader(20746): next() waiting....
01-07 20:47:32.198: D/BufferReader(20746): next() awaken
01-07 20:47:32.208: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:32.228: D/BufferReader(20746): next() waiting....
01-07 20:47:33.599: D/BufferReader(20746): next() awaken
01-07 20:47:33.599: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:33.599: W/AudioTrack(20746): releaseBuffer() track 0x6eaf04d0
name=0x1 disabled, restarting
01-07 20:47:33.619: D/BufferReader(20746): next() waiting....
01-07 20:47:34.109: I/engageTV(20746): Completed work @ 79662791
01-07 20:47:34.180: I/engageTV(20746): Handling Message 0
01-07 20:47:34.180: I/engageTV(20746): Received: 0
01-07 20:47:34.890: D/BufferReader(20746): next() awaken
01-07 20:47:34.900: D/AACPlayer(20746): play(): decoded 43776 samples
01-07 20:47:34.910: I/Decoder(20746): stop() stopping native decoder
01-07 20:47:34.910: I/AACPlayer(20746): play(): average decoding time: 745 ms
01-07 20:47:34.910: I/AACPlayer(20746): play(): average rate (samples/sec):
audio=64000, decoding=58694, audio/decoding= -8 % (the higher, the better;
negative means that decoding is slower than needed by audio)
01-07 20:47:34.920: D/PCMFeed(20746): run() stopped.
01-07 20:47:34.930: E/BufferReader(20746): Exception when reading:
java.net.SocketException: Socket closed
Original issue reported on code.google.com by [email protected]
on 8 Jan 2014 at 5:30
"Illegal State" exception that was thrown at one point
>>Something to do with AudioTrack I believe. Trying to reproduce
>>Well, I've bee able to reproduce it a couple times, but I think it's more of
an issue with timing
>>If I hit play, the stream starts (calls mediaPlayer.start())
>>Sometimes when I hit stop, the stream will stop then a few milliseconds later
AudioTrack throws an exception about a bad state.
Original issue reported on code.google.com by [email protected]
on 11 May 2012 at 2:14
What steps will reproduce the problem?
1. run the app in the eclipse simulator
im getting this:
1-21 23:30:36.573: E/AACPlayer(1471): playAsync(): 11-21 23:30:36.573:
E/AACPlayer(1471): java.lang.NullPointerException 11-21 23:30:36.573:
E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer.dumpHeaders(AACPlayer.java:510) 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer.processHeaders(AACPlayer.java:497) 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.MultiPlayer.processHeaders(MultiPlayer.java:108) 11-21
23:30:36.573: E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer.play(AACPlayer.java:280) 11-21 23:30:36.573:
E/AACPlayer(1471): at
com.spoledge.aacdecoder.AACPlayer$1.run(AACPlayer.java:248) 11-21 23:30:36.573:
E/AACPlayer(1471): at java.lang.Thread.run(Thread.java:841)
Original issue reported on code.google.com by [email protected]
on 26 Nov 2013 at 6:23
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
When I change channel , sometimes output this error ,
What version of the product are you using? On which device ?
I tested on Nexus 4 , Galaxy S3 and some other devices too have this problem
What is the URL of the stream ?
Mount Point /Streaming.aac
Stream Title: Radio
Stream Description: Armenian Radio Station
Content Type: audio/aacp
Mount started:
Bitrate: 128
Current Listeners: 2
Peak Listeners: 0
Stream Genre: World, Pop
Stream URL:
Current Song:
Please provide any additional information below.
10-21 12:00:36.785: E/AndroidRuntime(11084): FATAL EXCEPTION: Thread-672
10-21 12:00:36.785: E/AndroidRuntime(11084):
java.lang.IllegalArgumentException: 96000Hz is not a supported sample rate.
10-21 12:00:36.785: E/AndroidRuntime(11084): at
android.media.AudioTrack.audioParamCheck(AudioTrack.java:375)
10-21 12:00:36.785: E/AndroidRuntime(11084): at
android.media.AudioTrack.<init>(AudioTrack.java:309)
10-21 12:00:36.785: E/AndroidRuntime(11084): at
android.media.AudioTrack.<init>(AudioTrack.java:259)
10-21 12:00:36.785: E/AndroidRuntime(11084): at
com.spoledge.aacplayer.PCMFeed.run(PCMFeed.java:216)
10-21 12:00:36.785: E/AndroidRuntime(11084): at
java.lang.Thread.run(Thread.java:841)
Original issue reported on code.google.com by [email protected]
on 21 Oct 2013 at 8:09
What steps will reproduce the problem?
1. MultiPlayer player = new MultiPlayer();
2. player.playAsync("http://stream01.media.rambler.ru:80/makfresh128.mp3");
What is the expected output? What do you see instead?
Playing not starts from time to time. 7 of 10 times playing not starts!
What version of the product are you using? On which device ?
0.6.1
What is the URL of the stream ?
http://stream01.media.rambler.ru:80/makfresh128.mp3
Please provide any additional information below.
Log when playing not started:
21:57:44.823: D/dalvikvm(13469): Trying to load lib
/data/data/ru.makradio.player/lib/libaacdecoder.so
21:57:44.833: D/dalvikvm(13469): Added shared lib
/data/data/ru.makradio.player/lib/libaacdecoder.so
21:57:44.833: D/dalvikvm(13469): No JNI_OnLoad found in
/data/data/ru.makradio.player/lib/libaacdecoder.so 0x40514830, skipping init
21:57:45.713: D/AACPlayer(13469): header: key=Cache-Control, val=no-cache
21:57:45.713: D/AACPlayer(13469): header: key=Content-Type, val=audio/mpeg
21:57:45.713: D/AACPlayer(13469): header: key=icy-br, val=128
21:57:45.713: D/AACPlayer(13469): header: key=icy-description, val=Makradio
station (www.makradio.ru)
21:57:45.713: D/AACPlayer(13469): header: key=icy-genre, val=Discohouse & House
21:57:45.713: D/AACPlayer(13469): header: key=icy-name, val=*** Makradio Fresh
***
21:57:45.713: D/AACPlayer(13469): header: key=icy-pub, val=1
21:57:45.713: D/AACPlayer(13469): header: key=icy-url,
val=http://www.makradio.ru
21:57:45.713: D/AACPlayer(13469): header: key=Server, val=Icecast 2.3.2
21:57:45.713: I/MultiPlayer(13469): Setting MP3 decoder for content type
audio/mpeg
21:57:45.713: I/AACPlayer(13469): Metadata not enabled
21:57:45.723: D/Makradio(13469): Player.playerStarted()
21:57:45.723: D/BufferReader(13469): init(): capacity=8000
21:57:45.733: D/BufferReader(13469): run() started....
21:57:45.733: I/Decoder(13469): start() starting native decoder - OpenCORE-MP3
21:57:45.733: D/BufferReader(13469): next() waiting....
21:57:45.753: D/BufferReader(13469): next() awaken
21:57:45.833: D/BufferReader(13469): run() waiting....
No more messages prints in log!
Log when playing started successfully:
22:05:00.123: D/AACPlayer(13469): header: key=Cache-Control, val=no-cache
22:05:00.123: D/AACPlayer(13469): header: key=Content-Type, val=audio/mpeg
22:05:00.123: D/AACPlayer(13469): header: key=icy-br, val=128
22:05:00.123: D/AACPlayer(13469): header: key=icy-description, val=Makradio
station (www.makradio.ru)
22:05:00.123: D/AACPlayer(13469): header: key=icy-genre, val=Discohouse & House
22:05:00.123: D/AACPlayer(13469): header: key=icy-name, val=*** Makradio Fresh
***
22:05:00.123: D/AACPlayer(13469): header: key=icy-pub, val=1
22:05:00.123: D/AACPlayer(13469): header: key=icy-url,
val=http://www.makradio.ru
22:05:00.123: D/AACPlayer(13469): header: key=Server, val=Icecast 2.3.2
22:05:00.133: I/MultiPlayer(13469): Setting MP3 decoder for content type
audio/mpeg
22:05:00.133: I/AACPlayer(13469): Metadata not enabled
22:05:00.133: D/BufferReader(13469): init(): capacity=8000
22:05:00.133: I/Decoder(13469): start() starting native decoder - OpenCORE-MP3
22:05:00.133: D/BufferReader(13469): next() waiting....
22:05:00.133: D/BufferReader(13469): run() started....
22:05:00.843: D/BufferReader(13469): next() awaken
22:05:00.893: D/AACPlayer(13469): play(): samplerate=44100, channels=2
22:05:00.943: D/BufferReader(13469): run() waiting....
22:05:01.013: D/dalvikvm(13469): GC_FOR_MALLOC freed 138K, 48% free
3084K/5831K, external 645K/1043K, paused 43ms
22:05:01.053: D/dalvikvm(13469): GC_FOR_MALLOC freed 12K, 47% free 3243K/6023K,
external 645K/1043K, paused 37ms
22:05:01.053: D/PCMFeed(13469): run(): sampleRate=44100, channels=2,
bufferSizeInBytes=264600 (1500 ms)
22:05:01.113: D/BufferReader(13469): run() awaken
22:05:01.113: D/BufferReader(13469): run() waiting....
22:05:01.163: D/AACPlayer(13469): play(): decoded 87552 samples
22:05:01.163: D/BufferReader(13469): run() awaken
22:05:01.163: D/BufferReader(13469): run() waiting....
22:05:01.163: I/AACPlayer(13469): play(): changing kBitSecRate: 64 -> 128
22:05:01.163: D/BufferReader(13469): setCapacity(): 16000
22:05:01.213: D/BufferReader(13469): run() awaken
22:05:01.213: D/BufferReader(13469): run() capacity changed: 8000 -> 16000
22:05:01.213: D/BufferReader(13469): run() waiting....
22:05:01.263: D/BufferReader(13469): run() awaken
22:05:01.263: D/BufferReader(13469): run() capacity changed: 8000 -> 16000
22:05:01.263: D/AACPlayer(13469): play(): decoded 87552 samples
22:05:01.263: D/BufferReader(13469): run() waiting....
22:05:01.263: D/PCMFeed(13469): start buffer not filled enough - AudioTrack not
started yet
22:05:01.273: D/PCMFeed(13469): start of AudioTrack - buffered 132300 samples
22:05:01.313: D/BufferReader(13469): run() awaken
22:05:01.313: D/BufferReader(13469): run() capacity changed: 8000 -> 16000
22:05:01.333: D/PCMFeed(13469): too fast for playback, sleeping...
22:05:01.383: D/AACPlayer(13469): play(): decoded 87552 samples
22:05:01.473: D/AACPlayer(13469): play(): decoded 87552 samples
22:05:02.053: D/AACPlayer(13469): play(): decoded 87552 samples
22:05:02.963: I/Decoder(13469): stop() stopping native decoder
22:05:02.963: I/AACPlayer(13469): play(): average decoding time: 97 ms
22:05:02.963: I/AACPlayer(13469): play(): average rate (samples/sec):
audio=88200, decoding=900740, audio/decoding= 921 % (the higher, the better;
negative means that decoding is slower than needed by audio)
22:05:03.223: D/BufferReader(13469): run() stopped.
22:05:03.963: D/PCMFeed(13469): run() stopped.
Original issue reported on code.google.com by [email protected]
on 13 Sep 2012 at 4:09
What steps will reproduce the problem?
01-13 14:02:32.816: E/AudioTrack(1382): AudioFlinger could not create track,
status: -12
01-13 14:02:32.816: E/android.media.AudioTrack(1382): Error code -20 when
initializing AudioTrack.
01-13 14:02:32.966: E/PCMFeed(1382): error in playback feed: -3
What is the expected output? What do you see instead?
What version of the product are you using? On which device ?
Lib 8.0
What is the URL of the stream ?
stream1.mambo.it:8060
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 13 Jan 2014 at 7:05
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.