Page 1 of 1

libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 08 Jun 2009 08:21
by Jeremiah
libvlc_media_player_get_time and libvlc_media_player_get_position return 0 when playing rtsp stream using vlc-0.9.9a.

and/so the slide isn't moving.....

but use vlc-0.8.6i, all is good! the slide is moving and i can get the real time from libvlc_media_player_get_time.

so what's the matter?

by the way, when i testing the vlc-1.0.0-rc1, it cannot play rtsp stream successfully. i complie it using contrib-20090219-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 in cygwin.

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 08 Jun 2009 16:22
by VLC_help
so what's the matter?
There was huge RTSP recode between 0.8.x -> 0.9.x so I assume this is because of it
it cannot play rtsp stream successfully
Could you paste VLC message log with RC2 or RC3?

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 09 Jun 2009 02:39
by Jeremiah
thank you very much, vlc_help. you're a very good guy.

i compile for myself using cygwin and contrib-20090118-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2.
and i use vlm of vlc-0.9.9a.zip as the vod server. i can play rtsp://127.0.0.1/test1 using other version of vlc expect vlc-1.0.0-rc*.

here is the log:

Code: Select all

-- logger module started -- main debug: using interface module "logger" main debug: TIMER module_need() : 64.000 ms - Total 64.000 ms / 1 intvls (Avg 64.000 ms) main debug: thread (interface) created at priority 0 (interface/interface.c:156) main debug: looking for interface module: 1 candidate main debug: thread started main debug: thread ended main debug: using interface module "hotkeys" main debug: TIMER module_need() : 39.000 ms - Total 39.000 ms / 1 intvls (Avg 39.000 ms) main debug: thread (interface) created at priority 0 (interface/interface.c:156) main debug: adding item `rtsp://127.0.0.1/test1' ( rtsp://127.0.0.1/test1 ) main debug: thread started main debug: rebuilding array of current - root 播放列表 main debug: rebuild done - 1 items, index -1 main debug: looking for interface module: 1 candidate main debug: using interface module "globalhotkeys" main debug: TIMER module_need() : 45.000 ms - Total 45.000 ms / 1 intvls (Avg 45.000 ms) main debug: thread (interface) created at priority 0 (interface/interface.c:156) main: 正在以默认界面运行 vlc,使用 'cvlc' 将 vlc 运行在无界面的状态下。 main debug: looking for interface module: 3 candidates main debug: thread started main debug: thread ended main debug: using interface module "qt4" main debug: TIMER module_need() : 533.000 ms - Total 533.000 ms / 1 intvls (Avg 533.000 ms) main debug: thread started main debug: thread (interface) created at priority 0 (interface/interface.c:156) main debug: thread ended main debug: processing request item null node 播放列表 skip 0 main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'rtsp://127.0.0.1/test1' qt4 debug: Error while initializing qt-specific localization main debug: thread (input) created at priority 1 (input/input.c:230) main debug: thread started qt4 debug: IM: Setting an input main debug: using timeshift granularity of 50 MBytes main debug: using timeshift path 'C:\DOCUME~1\wangwei1\LOCALS~1\Temp' main debug: `rtsp://127.0.0.1/test1' gives access `rtsp' demux `' path `127.0.0.1/test1' main debug: creating demux: access='rtsp' demux='' path='127.0.0.1/test1' main debug: looking for access_demux module: 1 candidate qt4 debug: Updating the geometry qt4 debug: size: 1 - 21145 qt4 debug: sizeHint: 4 - 349 qt4 debug: Updating the geometry qt4 debug: size: 1 - 21145 qt4 debug: sizeHint: 4 - 349 live555 debug: DESCRIBE failed with 0: connect() failed: Unknown error live555 debug: connection timeout live555 error: Failed to connect with rtsp://127.0.0.1/test1 main warning: no access_demux module matching "rtsp" could be loaded main debug: TIMER module_need() : 135.000 ms - Total 135.000 ms / 1 intvls (Avg 135.000 ms) main debug: creating access 'rtsp' path='127.0.0.1/test1' main debug: looking for access module: 0 candidates main error: no access module matched "rtsp" main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms) main error: open of `rtsp://127.0.0.1/test1' failed: no access module matched "rtsp" main debug: thread ended main debug: dead input main debug: thread times: real 0m0.171428s, kernel 0m0.000000s, user 0m0.015625s main debug: changing item without a request (current 0/1) main debug: nothing to play qt4 debug: IM: Deleting the input qt4 debug: Updating the geometry qt4 debug: size: -1 - 21145 qt4 debug: sizeHint: -4 - 349 qt4 debug: Updating the geometry qt4 debug: size: -1 - 21145 qt4 debug: sizeHint: -4 - 349 main debug: Destroying the input for 'rtsp://127.0.0.1/test1' main debug: TIMER input launching for 'rtsp://127.0.0.1/test1' : 201.000 ms - Total 201.000 ms / 1 intvls (Avg 201.000 ms)

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 09 Jun 2009 02:40
by Jeremiah
i don't use the exe file the the videolan gived. so maybe i'll try the official file.
-------------------------------------------------------------------------------------------------
i tried the official exe file. it works fine with rtsp, but the slide dose not move, and the current time of the video is always 0.00. so the libvlc_media_player_get_time of rc3 will return 0 for rtsp.

also maybe the compiling thing of my rc3 is wrong. the contrib maybe the point, i think.

so can jb~ give us the new contrib for vlc-1.0.0-rc*?

thank you all very much....

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 09 Jun 2009 10:49
by Jeremiah
hi
i added some msg_Dbg in live555.cpp

1. under function Control

Code: Select all

switch( i_query ) { case DEMUX_GET_TIME: pi64 = (int64_t*)va_arg( args, int64_t * ); msg_Dbg(p_demux,"====p_sys->i_npt=%d====\n", p_sys->i_npt); if( p_sys->i_npt > 0 ) { *pi64 = p_sys->i_npt; return VLC_SUCCESS; } return VLC_EGENERIC;
2. under function StreamRead

Code: Select all

/* Retrieve NPT for this pts */ tk->i_npt = (int64_t) INT64_C(1000000) * tk->sub->getNormalPlayTime(pts); msg_Dbg(p_demux,"^^^^tk->i_npt=%d^^^^\n", tk->i_npt);
and the log shows:

Code: Select all

[00000398] live555 demux debug: ====p_sys->i_npt=0==== [00000398] live555 demux debug: ^^^^tk->i_npt=0^^^^ [00000398] live555 demux debug: ^^^^tk->i_npt=0^^^^ [00000398] live555 demux debug: ^^^^tk->i_npt=0^^^^ [00000398] live555 demux debug: ^^^^tk->i_npt=0^^^^ [00000398] live555 demux debug: ^^^^tk->i_npt=0^^^^
it meas : tk->i_npt = (int64_t) INT64_C(1000000) * tk->sub->getNormalPlayTime(pts); always return 0;

what's the matter????

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 09 Jun 2009 19:42
by VLC_help
Shouldn't you print long ints with %z ?

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 10 Jun 2009 02:24
by Jeremiah
it's the same using %lld to print long ints in this case, getNormalPlayTime(pts) always return 0.
this is weird....

Re: libvlc_media_player_get_time return 0 when play rtsp stream

Posted: 12 Jun 2009 16:03
by VLC_help
You might get better help from IRC or from mailing list.