Trying to set a file descriptor originating from a LocalSocket on a
MediaPlayer fails in Android, both the SDK emulator and the actual
devices.

This problem was originally described in the link below, but the
discussion got (unfortunately) sidetracked:

http://groups.google.com/group/android-developers/browse_thread/thread/6cf46cf5d1c8af45

The link gives example code to reproduce the problem - I am listing
the necessary steps here as well for reference:

1) Create a thread with a LocalSocket that receives raw audio data
(e.g. an OGG file), for example from another LocalSocket.

2) Connect the socket and a new MediaPlayer using
mediaPlayer.setDataSource( receivingSocket.getFileDescriptor());

The code will fail with UNKNOWN_ERROR on C side with the following
exception on Java side:

java.io.IOException: setDataSourceFD failed: status=0x80000000
  at android.Media.MediaPlayer.setDataSource(Native Method)
  at android.Media.MediaPlayer.setDataSource(MediaPlayer.java:251)

I studied the C implementation of MediaPlayer APIs, but could not find
out why the method MediaPlayer::getMediaPlayerService fails to return
a valid media player service in this particular case.


Thanks in advance for any help,
Pawel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to