[General Questions and Answers] chronodekar:
Hello,

I'm trying to develop an android-based kiosk device. A requirement is that it needs to play video files without audio. This is not a case of muting the volume. There is no audio codec (hardware) on the device.

I tried running the following command to play a video file in android,

am start -a android.intent.action.VIEW -d "file:////sdcard/Movies/trailer.3gp" -t "video/*"

And an error comes up saying something like "video file cannot be played". :(

Here is a snippet of my logcat,

I/ActivityManager( 2477): START u0 {act=android.intent.action.VIEW dat=file:////sdcard/Movies/trailer.flv typ=video/* flg=0x10000000 cmp=com.android.gallery3d/.app.MovieActivity} from pid 3485
D/AndroidRuntime( 3485): Shutting down VM
D/dalvikvm( 3485): GC_CONCURRENT freed 91K, 17% free 492K/588K, paused 1ms+1ms, total 5ms
I/ActivityManager( 2477): Start proc com.android.gallery3d for activity com.android.gallery3d/.app.MovieActivity: pid=3495 uid=10016 gids={50016, 1006, 3003, 1015, 1023, 1028}
I/ActivityManager( 2477): Process com.android.musicfx (pid 3428) has died.
D/dalvikvm( 3495): GC_FOR_ALLOC freed 117K, 10% free 2618K/2888K, paused 14ms, total 15ms
D/dalvikvm( 3495): GC_CONCURRENT freed 266K, 13% free 2865K/3280K, paused 3ms+2ms, total 18ms
D/dalvikvm( 3495): WAIT_FOR_CONCURRENT_GC blocked 6ms
I/AudioService( 2477): AudioFocus requestAudioFocus() from android.media.AudioManager@41e41d90
D/dalvikvm( 2477): GC_FOR_ALLOC freed 232K, 13% free 4668K/5324K, paused 39ms, total 39ms
D/libEGL ( 3495): loaded /system/lib/egl/libEGL_VIVANTE.so
D/libEGL ( 3495): loaded /system/lib/egl/libGLESv1_CM_VIVANTE.so
D/libEGL ( 3495): loaded /system/lib/egl/libGLESv2_VIVANTE.so
I/ActivityManager( 2477): Process android.process.media (pid 3336) has died.
W/ActivityManager( 2477): Scheduling restart of crashed service com.android.providers.media/.MtpService in 17880ms
E/BufferQueue( 2190): [com.android.gallery3d/com.android.gallery3d.app.MovieActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
D/OpenGLRenderer( 3495): Enabling debug mode 0
I/ActivityManager( 2477): Displayed com.android.gallery3d/.app.MovieActivity: +799ms
I/ActivityManager( 2477): Process com.android.launcher (pid 2660) has died.
I/WindowState( 2477): WIN DEATH: Window{41fc8248 u0 com.android.launcher/com.android.launcher2.Launcher}
I/OMXPlayer( 2193): Loading content: sharedfd://13:0:7526343:0
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: MediaTypeInspect LINE: 1655
I/OMXPlayer( 2193): Can't inspect media content type by subfix.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: prepare LINE: 422
I/OMXPlayer( 2193): failed to open file: /data/system/audio_pass_through_pref.
I/OMXPlayer( 2193): VideoRender role: video_render.surface
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: SetDeviceInputCrop LINE: 433
I/OMXPlayer( 2193): nativeWindow is NULL!
I/OMXPlayer( 2193): nPreCacheSize = 44534
W/AudioPolicyManagerBase( 2193): getOutput() could not find output for stream 3, samplingRate 0,format 0, channels 3, flags 0
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: SetDevice LINE: 221
I/OMXPlayer( 2193): Failed to open AudioOutput device.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: SysEventHandler LINE: 1535
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based report Error 80001009.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: SysEventHandler LINE: 1535
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based report Error 80001009.
E/MediaPlayer( 3495): error (1, 0)
E/MediaPlayer( 3495): error (1, 0)
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: PortUsePeerBuffers LINE: 1272
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based use buffer for port 0 failed.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: Load LINE: 753
I/OMXPlayer( 2193): StartPipeline faint
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: Load LINE: 764
I/OMXPlayer( 2193): Load faint and stop
I/OMXPlayer( 2193): Stop Player.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: StateTransDownWard LINE: 336
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based Invalid state transitioin: 1 -> 4.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: StateTransDownWard LINE: 336
I/OMXPlayer( 2193): OMX.Freescale.std.video_render.surface.sw-based Invalid state transitioin: 1 -> 4.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: StateTransDownWard LINE: 336
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based Invalid state transitioin: 1 -> 2.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: StateTransDownWard LINE: 336
I/OMXPlayer( 2193): OMX.Freescale.std.video_decoder.sorenson.sw-based Invalid state transitioin: 1 -> 2.
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: StateTransDownWard LINE: 336
I/OMXPlayer( 2193): OMX.Freescale.std.video_render.surface.sw-based Invalid state transitioin: 1 -> 2.
E/MediaPlayer( 3495): Error (1,0)
D/VideoView( 3495): Error: 1,0
D/dalvikvm( 3495): GC_FOR_ALLOC freed 316K, 16% free 2906K/3440K, paused 14ms, total 14ms
I/dalvikvm-heap( 3495): Grow heap (frag case) to 3.250MB for 281896-byte allocation
D/dalvikvm( 3495): GC_FOR_ALLOC freed 1K, 15% free 3180K/3716K, paused 14ms, total 14ms
E/MediaPlayer( 3495): Error (1,0)
D/VideoView( 3495): Error: 1,0
E/BufferQueue( 2190): [com.android.gallery3d/com.android.gallery3d.app.MovieActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
E/BufferQueue( 2190): [com.android.gallery3d/com.android.gallery3d.app.MovieActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: SendCommand LINE: 985
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based Time out for Sending Command [2:1], Busy on Command [0:2].
I/OMXPlayer( 2193): LEVEL: 1 FUNCTION: WaitCommand LINE: 1038
I/OMXPlayer( 2193): OMX.Freescale.std.audio_render.android.sw-based Wait incorrect Command[2:1], ProcessingCmd is [0:2].
E/MediaPlayer( 3495): error (-2147483648, 0)
E/MediaPlayer( 3495): Error (-2147483648,0)
D/VideoView( 3495): Error: -2147483648,0
E/BufferQueue( 2190): [com.android.gallery3d/com.android.gallery3d.app.MovieActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
I/ActivityManager( 2477): Process com.android.inputmethod.latin (pid 3289) has died.
W/ActivityManager( 2477): Scheduling restart of crashed service com.android.inputmethod.latin/.LatinIME in 26640ms
W/InputMethodManagerService( 2477): Session failed to close due to remote exception

The above leads me to believe that the audio service, due to not finding hardware results in the video not being shown. Does anyone know how I could build AOSP without the android audio service running?

I suspect that this is a matter of deleting something in the "init.rc" file, but I'm not sure exactly what to do.

-chronodekar