Windows named pipe reopen
Posted: 19 Oct 2011 16:24
Hi everyone,
I have program which writes mpeg ts stream to windows named pipe.
I can render this stream with VLC:
Everything works OK.
Than in VLC I do "stop" and than "play", and it show me error, that it "can't open MRL"
If I try to open VLC again, it says me the same. So I need to reopen my application that writes to named pipe.
Is this behaviour normal?
This is log, when I try to re-play:
This is log when I press "stop" on VLC:
I have program which writes mpeg ts stream to windows named pipe.
I can render this stream with VLC:
Code: Select all
vlc.exe stream://\\.\pipe\RavisPlayer1239
Than in VLC I do "stop" and than "play", and it show me error, that it "can't open MRL"
If I try to open VLC again, it says me the same. So I need to reopen my application that writes to named pipe.
Is this behaviour normal?
This is log, when I try to re-play:
main debug: processing request item \\.\pipe\RavisPlayer1239 node Плейлист skip 0
main debug: resyncing on \\.\pipe\RavisPlayer1239
main debug: \\.\pipe\RavisPlayer1239 is at 1
main debug: starting new item
main debug: creating new input thread
main debug: Creating an input for '\\.\pipe\RavisPlayer1239'
main debug: thread (input) created at priority 1 (../.././src/input/input.c:220)
main debug: thread started
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path 'C:\Users\IE326~1.PAV\AppData\Local\Temp'
main debug: `stream://\\.\pipe\RavisPlayer1239' gives access `stream' demux `' path `\\.\pipe\RavisPlayer1239'
main debug: creating demux: access='stream' demux='' path='\\.\pipe\RavisPlayer1239'
main debug: looking for access_demux module: 0 candidates
main debug: no access_demux module matched "stream"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: creating access 'stream' path='\\.\pipe\RavisPlayer1239'
main debug: looking for access module: 1 candidate
filesystem debug: opening file `\\.\pipe\RavisPlayer1239'
filesystem error: cannot open file \\.\pipe\RavisPlayer1239 (Invalid argument)
main debug: no access module matching "stream" could be loaded
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main error: open of `stream://\\.\pipe\RavisPlayer1239' failed: (null)
main debug: finished input
main debug: thread ended
main debug: dead input
main debug: thread times: real 0m0.002000s, kernel 0m0.000000s, user 0m0.000000s
main debug: TIMER input launching for '\\.\pipe\RavisPlayer1239' : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms)
main debug: changing item without a request (current 1/2)
main debug: nothing to play
This is log when I press "stop" on VLC:
To be more clear, this is log while first (successful) play:main debug: incoming request - stopping current input
main debug: dying input
main warning: resampling stopped after 1223000 usec (drift: 24428)
main debug: control type=0
main debug: control: stopping input
main debug: dying input
main warning: can't get output picture
avcodec warning: disabling direct rendering
avcodec warning: cannot decode one frame (1268 bytes)
main debug: thread times: real 0m25.179440s, kernel 0m0.015600s, user 0m0.608403s
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) stopped
main debug: removing module "avcodec"
main debug: killing decoder fourcc `h264', 13 PES in FIFO
main debug: [0] 2 0
main debug: [1] 2 0
main debug: [2] 4 0
main debug: [3] 2 0
main debug: [4] 2 0
main debug: [5] 2 0
main debug: [6] 2 0
main debug: [7] 4 0
main debug: [8] 2 0
main debug: [9] 2 0
main debug: [10] 2 0
main debug: [11] 2 0
main debug: [12] 4 0
main debug: [13] 2 0
main debug: [14] 2 0
main debug: [15] 2 0
main debug: [16] 2 0
main debug: [17] 2 0
main debug: [18] 2 0
main debug: [19] 2 0
main debug: [20] 2 0
main debug: [21] 2 0
main debug: [22] 2 0
main debug: [23] 2 0
main debug: saving a free vout
main debug: removing module "packetizer_h264"
main warning: received buffer in the future
main debug: thread times: real 0m25.180440s, kernel 0m0.000000s, user 0m0.109200s
main debug: removing module "faad"
main debug: killing decoder fourcc `mp4a', 22 PES in FIFO
main debug: removing module "scaletempo"
main debug: removing module "ugly_resampler"
main debug: thread ended
main debug: thread times: real 0m24.922425s, kernel 0m0.000000s, user 0m0.000000s
main debug: removing module "waveout"
main debug: removing module "float32_mixer"
main debug: releasing aout
main debug: removing module "packetizer_mpeg4audio"
ts debug: pid list:
ts debug: - pid[0] seen
ts debug: - pid[66] seen
ts debug: - pid[768] seen
ts debug: - pid[773] seen
main debug: Program doesn't contain anymore ES
ts debug: - pid[784] seen
ts debug: - pid[8191] seen
main debug: removing module "ts"
main debug: removing module "stream_filter_record"
main debug: removing module "filesystem"
main debug: thread ended
main debug: dead input
main debug: thread times: real 0m25.874479s, kernel 0m0.046800s, user 0m0.000000s
main debug: destroying useless vout
direct3d debug: Direct3D scene released successfully
direct3d debug: DirectXEventThread terminating
direct3d debug: DirectXCloseWindow
direct3d debug: WinProc WM_DESTROY
qt4 debug: releasing video...
qt4 debug: IM: Deleting the input
main debug: TIMER input launching for '\\.\pipe\RavisPlayer1239' : 685.000 ms - Total 685.000 ms / 1 intvls (Avg 685.000 ms)
qt4 debug: Video is not needed anymore
main debug: removing module "qt4"
main debug: removing module "direct3d"
main debug: removing module "vout_wrapper"
main debug: removing module "blend"
main debug: removing module "freetype"
main debug: removing module "yuvp"
main debug: removing module "swscale"
so the error is here:main debug: processing request item \\.\pipe\RavisPlayer1239 node Плейлист skip 0
main debug: resyncing on \\.\pipe\RavisPlayer1239
main debug: \\.\pipe\RavisPlayer1239 is at 2
main debug: starting new item
main debug: creating new input thread
main debug: Creating an input for '\\.\pipe\RavisPlayer1239'
main debug: thread (input) created at priority 1 (../.././src/input/input.c:220)
main debug: thread started
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path 'C:\Users\IE326~1.PAV\AppData\Local\Temp'
main debug: `stream://\\.\pipe\RavisPlayer1239' gives access `stream' demux `' path `\\.\pipe\RavisPlayer1239'
main debug: creating demux: access='stream' demux='' path='\\.\pipe\RavisPlayer1239'
main debug: looking for access_demux module: 0 candidates
main debug: no access_demux module matched "stream"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: creating access 'stream' path='\\.\pipe\RavisPlayer1239'
main debug: looking for access module: 1 candidate
filesystem debug: opening file `\\.\pipe\RavisPlayer1239'
main debug: using access module "filesystem"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: Using AStream*Stream
main debug: pre buffering
qt4 debug: IM: Setting an input
main debug: received first data after 43 ms
main debug: pre-buffering done 1024 bytes in 0s - 23 KiB/s
main debug: looking for stream_filter module: 2 candidates
main debug: no stream_filter module matching "any" could be loaded
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: looking for stream_filter module: 1 candidate
main debug: using stream_filter module "stream_filter_record"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: creating demux: access='stream' demux='' path='\\.\pipe\RavisPlayer1239'
main debug: looking for demux module: 52 candidates
Why?filesystem debug: opening file `\\.\pipe\RavisPlayer1239'
filesystem error: cannot open file \\.\pipe\RavisPlayer1239 (Invalid argument)