unable to run RTSP link through Vitamio on Android

0

I have used different RTSP links so far to run on Vitamio player in Android. I am using latest Version f Vitamio..I am using Sample application of Vitmaio. Only HTTP, MMS and RTMP links are working.. following is the code.. VideoView.java

public class VideoViewDemo extends Activity {

    /**
     * TODO: Set the path variable to a streaming video URL or a local media
     * file path.
     */
    private String path = "RTSP Link here";
    private VideoView mVideoView;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        if (!LibsChecker.checkVitamioLibs(this))
            return;
        setContentView(R.layout.videoview);
        mVideoView = (VideoView) findViewById(R.id.surface_view);

        if (path == "") {
            // Tell the user to provide a media file URL/path.
            Toast.makeText(
                    VideoViewDemo.this,
                    "Please edit VideoViewDemo Activity, and set path"
                            + " variable to your media file URL/path",
                    Toast.LENGTH_LONG).show();
            return;
        } else {
            /*
             * Alternatively,for streaming media you can use
             * mVideoView.setVideoURI(Uri.parse(URLstring));
             */
            mVideoView.setVideoPath(path);
            mVideoView.setBufferSize(2048);
            mVideoView.setVideoQuality(16);
            mVideoView.setMediaController(new MediaController(this));
            mVideoView.requestFocus();
            // this.myVideoView.setOnBufferingUpdateListener(this.mBufferingUpdateListener);

            mVideoView
                    .setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                        @Override
                        public void onPrepared(MediaPlayer mediaPlayer) {
                            // optional need Vitamio 4.0
                            mediaPlayer.setPlaybackSpeed(1.0f);
                        }
                    });
        }

    }
}

LogCat..

10-06 02:41:00.638: D/Vitamio[Player](30388): [udp @ 0x53de8b00] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
10-06 02:41:00.638: D/Vitamio[Player](30388): [udp @ 0x52467ef0] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
10-06 02:41:00.958: D/Vitamio[Player](30388): [udp @ 0x54d603a0] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
10-06 02:41:00.958: D/Vitamio[Player](30388): [udp @ 0x53cc9960] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required)
10-06 02:41:07.563: D/Vitamio[Player](30388): Input #0, rtsp, from 'rtsp://dawnstream.hostingmadeeasy.com/dawn':
10-06 02:41:07.563: D/Vitamio[Player](30388):   Metadata:
10-06 02:41:07.563: D/Vitamio[Player](30388):     title           : 
10-06 02:41:07.563: D/Vitamio[Player](30388): DawnNews TV(dawn.tvpakistan.com)
10-06 02:41:07.563: D/Vitamio[Player](30388):     WMFSDKNeeded    : 
10-06 02:41:07.563: D/Vitamio[Player](30388): 0.0.0.0000
10-06 02:41:07.563: D/Vitamio[Player](30388):     DeviceConformanceTemplate: 
10-06 02:41:07.563: D/Vitamio[Player](30388): MP@LL
10-06 02:41:07.563: D/Vitamio[Player](30388):     WMFSDKVersion   : 
10-06 02:41:07.563: D/Vitamio[Player](30388): 9.00.00.3272
10-06 02:41:07.563: D/Vitamio[Player](30388):     IsVBR           : 
10-06 02:41:07.563: D/Vitamio[Player](30388): 0
10-06 02:41:07.563: D/Vitamio[Player](30388):   Duration: 
10-06 02:41:07.563: D/Vitamio[Player](30388): 00:00:00.00
10-06 02:41:07.563: D/Vitamio[Player](30388): , start: 
10-06 02:41:07.563: D/Vitamio[Player](30388): 310903.847000
10-06 02:41:07.563: D/Vitamio[Player](30388): , bitrate: 
10-06 02:41:07.563: D/Vitamio[Player](30388): N/A
10-06 02:41:07.568: D/Vitamio[Player](30388):     Stream #0:0
10-06 02:41:07.568: D/Vitamio[Player](30388): : Audio: wmav2 (a[1][0][0] / 0x0161), 32000 Hz, 2 channels, fltp, 40 kb/s
10-06 02:41:07.573: D/Vitamio[Player](30388):     Stream #0:1
10-06 02:41:07.573: D/Vitamio[Player](30388): : Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 320x240, 65 kb/s
10-06 02:41:07.573: D/Vitamio[Player](30388): , 25 tbr
10-06 02:41:07.573: D/Vitamio[Player](30388): , 1k tbn
10-06 02:41:07.573: D/Vitamio[Player](30388): , 1k tbc
10-06 02:41:07.578: I/Vitamio[Player](30388): METADATA: DawnNews TV(dawn.tvpakistan.com)0.0.0.0000MP@LL9.00.00.32720
10-06 02:41:07.583: I/Vitamio[Player](30388): META AUDIO: 0, META SUBTITLE: 
10-06 02:41:07.583: D/Vitamio[Player](30388): FIND CODEC_ID 86024
10-06 02:41:07.583: I/Vitamio[Player](30388): WOW: BRILLIANT C COUNT 4
10-06 02:41:07.593: D/Vitamio[Player](30388): OPEN CODEC wmav2
10-06 02:41:07.593: I/Vitamio[Player](30388): OPEN STREAM AUDIO BEGIN
10-06 02:41:07.593: I/Vitamio[Player](30388): Copyright (c) YIXIA (http://yixia.com).
10-06 02:41:07.593: I/Vitamio[Player](30388): THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com)
10-06 02:41:07.593: I/Vitamio[Player](30388): Application package name: io.vov.vitamio.demo
10-06 02:41:07.593: I/Vitamio[Player](30388): 2, 32000, 0
10-06 02:41:07.593: D/Vitamio[Player](30388): THREAD AUDIO_DECODE START
10-06 02:41:07.628: D/Vitamio[Player](30388): THREAD AUDIO_OUTPUT START
10-06 02:41:07.643: I/Vitamio[Player](30388): OPEN STREAM AUDIO END
10-06 02:41:07.643: I/Vitamio[Player](30388): Copyright (c) YIXIA (http://yixia.com).
10-06 02:41:07.643: I/Vitamio[Player](30388): THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com)
10-06 02:41:07.643: I/Vitamio[Player](30388): Application package name: io.vov.vitamio.demo
10-06 02:41:07.643: D/Vitamio[Player](30388): SURFACE INIT OK
10-06 02:41:07.643: D/Vitamio[Player](30388): FIND CODEC_ID 72
10-06 02:41:07.643: I/Vitamio[Player](30388): WOW: BRILLIANT C COUNT 4
10-06 02:41:07.663: D/Vitamio[Player](30388): OPEN CODEC wmv3
10-06 02:41:07.663: I/Vitamio[Player](30388): OPEN STREAM VIDEO BEGIN
10-06 02:41:07.663: D/Vitamio[Player](30388): New video size 320 x 240
10-06 02:41:07.668: D/Vitamio[Player](30388): onVideoSizeChanged: (320x240)
10-06 02:41:07.673: I/Vitamio[Player](30388): OPEN STREAM VIDEO END
10-06 02:41:07.673: D/Vitamio[Player](30388): CLEAN START
10-06 02:41:07.673: D/Vitamio[Player](30388): prepared
10-06 02:41:07.673: D/Vitamio[Player](30388): CLEAN END
10-06 02:41:07.673: I/Vitamio[Player](30388): THREAD PREPARE DETTACHED
10-06 02:41:07.673: I/Vitamio[Player](30388): THREAD PREPARE END
10-06 02:41:07.673: D/Vitamio[Player](30388): VIDEO: 320x240x1.333333, Surface: 320x240, LP: 720x540, Window: 720x1280x0.562500
10-06 02:41:07.683: I/Vitamio[Player](30388): THREAD ANALYTICS START
10-06 02:41:07.688: D/Vitamio[Player](30388): GET CPU FATURE: V5TE V6 VFP V7A VFPV3 NEON 
10-06 02:41:07.688: D/Vitamio[Player](30388): THREAD DEMUX START
10-06 02:41:07.693: D/Vitamio[Player](30388): THREAD VIDEO_DECODE START
10-06 02:41:07.698: I/Vitamio[Player](30388): CC: ARMYUV420 0
10-06 02:41:07.698: D/Vitamio[Player](30388): THREAD VIDEO_DISPLAY START
10-06 02:41:07.728: D/Vitamio[Player](30388): New video size 320 x 240
10-06 02:41:07.733: D/Vitamio[Player](30388): New video size 320 x 240
10-06 02:41:07.753: D/Vitamio[Player](30388): onPrepared
10-06 02:41:07.753: A/libc(30388): Fatal signal 11 (SIGSEGV) at 0x00000058 (code=1), thread 30388 (ov.vitamio.demo)
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU implementer:0x41
10-06 02:41:08.508: D/Vitamio[Player](30830): Serial:0000000000000000
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU architecture:7
10-06 02:41:08.508: D/Vitamio[Player](30830): Hardware:endeavoru
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU revision:9
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU variant:0x2
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU part:0xc09
10-06 02:41:08.508: D/Vitamio[Player](30830): Revision:0000
10-06 02:41:08.508: D/Vitamio[Player](30830): BogoMIPS:1992.29
10-06 02:41:08.508: D/Vitamio[Player](30830): processor:3
10-06 02:41:08.508: D/Vitamio[Player](30830): Features:swp half thumb fastmult vfp edsp neon vfpv3 tls
10-06 02:41:08.508: D/Vitamio[Player](30830): Processor:ARMv7 Processor rev 9 (v7l)
10-06 02:41:08.508: D/Vitamio[Player](30830): CPU architecture: 7
10-06 02:41:08.508: D/Vitamio[Player](30830): GET CPU FATURE: V5TE V6 VFP V7A VFPV3 NEON 
10-06 02:41:08.513: I/Vitamio[Player](30830): isNativeLibsInited, APP VERSION: 2, Vitamio Library version: 2
10-06 02:41:08.603: E/(30830): file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found!
10-06 02:41:08.603: I/(30830): Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl
10-06 02:41:08.608: I/(30830): Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl
10-06 02:41:08.638: I/(30830): Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl

but streams with HTTP Protocols are working fine..

Update Android is throwing this error on every RTSP link Fatal signal 11 (SIGSEGV) at 0x00000058 (code=1), thread 26050 (ov.vitamio.demo) Now if any one can help me sort this problem out. Thanks.

android
video-streaming
rtsp
mms
vitamio
asked on Stack Overflow Oct 5, 2013 by Ahmed S. Durrani • edited Oct 14, 2013 by Toseef Khilji

2 Answers

4

I have the same problem, I found that if I comment the code

mMediaPlayer.getMetadata();

in source file MediaPlayerDemo_Video.java, the demo will runs OK.

I think maybe there is something wrong about get metadata from live stream in Vitamio's lib.

Hope this info may help u.

answered on Stack Overflow Oct 21, 2013 by pxd
2

Open VideoView.java file And replace this code

  Metadata data = mp.getMetadata();

  if (data != null) {
      mCanPause = !data.has(Metadata.PAUSE_AVAILABLE)
              || data.getBoolean(Metadata.PAUSE_AVAILABLE);
      mCanSeekBack = !data.has(Metadata.SEEK_BACKWARD_AVAILABLE)
              || data.getBoolean(Metadata.SEEK_BACKWARD_AVAILABLE);
      mCanSeekForward = !data.has(Metadata.SEEK_FORWARD_AVAILABLE)
              || data.getBoolean(Metadata.SEEK_FORWARD_AVAILABLE);
  } else {
      mCanPause = mCanSeekBack = mCanSeekForward = true;
  } 

By this

  mCanPause = mCanSeekBack = mCanSeekForward = true;
answered on Stack Overflow Nov 4, 2013 by Rusty • edited Nov 20, 2013 by Rusty

User contributions licensed under CC BY-SA 3.0