I think I have now some interesting clues.
At first I focused on secure TLS handshaking part and following logs, that are quite the same both in VLC app and libVLC.
But then I realized that the most interesting parts seems to be at the very beginning and at the exit of libVLC.
In VLC app the URL is opened as a playlist and an input thread is created:
Code: Select all
[00007fa0d051c2e0] main playlist debug: processing request item: watch?v=mRe-514tGMg, node: Scaletta, skip: 0
[00007fa0d051c2e0] main playlist debug: rebuilding array of current - root Scaletta
[00007fa0d051c2e0] main playlist debug: rebuild done - 1 items, index 0
[00007fa0d051c2e0] main playlist debug: starting playback of new item
[00007fa0d051c2e0] main playlist debug: resyncing on watch?v=mRe-514tGMg
[00007fa0d051c2e0] main playlist debug: watch?v=mRe-514tGMg is at 0
[00007fa0d051c2e0] main playlist debug: creating new input thread
[00007fa0d08996f0] main input debug: Creating an input for 'watch?v=mRe-514tGMg'
[00007fa0d051c2e0] main playlist debug: requesting art for new input thread
[00007fa0d08996f0] main input debug: using timeshift granularity of 50 MiB
[00007fa0d08996f0] main input debug: using default timeshift path
[00007fa0d08996f0] main input debug: `https://www.youtube.com/watch?v=mRe-514tGMg' gives access `https' demux `any' path `www.youtube.com/watch?v=mRe-514tGMg'
.....
Instead in libVLC the URL is opened as a "main input" without input thread:
Code: Select all
[00007f812e8e20f0] main input debug: Creating an input for 'mRe-514tGMg'
[00007f812e8e20f0] main input debug: using timeshift granularity of 50 MiB
[00007f812e8e20f0] main input debug: using default timeshift path
[00007f812e8e20f0] main input debug: `http://youtu.be/mRe-514tGMg' gives access `http' demux `any' path `youtu.be/mRe-514tGMg'
....
After that the logs are quite the same, even if events are reported in a different order, I suppose because of the threaded processes.
Then after failing the first attempt to communicate with the server, VLC app keeps on trying other connections with different parameters:
Code: Select all
[00007fa0d08996f0] main input debug: EOF reached
.....
[00007fa0d5504fd0] securetransport tls client debug: shutdown TLS session
[00007fa0d5504fd0] securetransport tls client debug: close TLS session
[00007fa0d5504fd0] securetransport tls client debug: close secure transport client
[00007fa0d051c2e0] main playlist debug: dead input
[00007fa0d051c2e0] main playlist debug: processing request item: EarthCam Live: Times Square in 4K, node: Scaletta, skip: 0
[00007fa0d051c2e0] main playlist debug: rebuilding array of current - root Scaletta
[00007fa0d051c2e0] main playlist debug: rebuild done - 1 items, index 0
[00007fa0d051c2e0] main playlist debug: starting playback of new item
[00007fa0d051c2e0] main playlist debug: resyncing on EarthCam Live: Times Square in 4K
[00007fa0d051c2e0] main playlist debug: EarthCam Live: Times Square in 4K is at 0
[00007fa0d051c2e0] main playlist debug: creating new input thread
.....
Then it keeps on trying connections several times until it finds the right parameters, and finally it opens the YouTube live stream.
libVLC instead stops at first attempt and exits:
Code: Select all
[00007f812e8e20f0] main input debug: EOF reached
...
[00007f812dee8eb0] securetransport tls client debug: shutdown TLS session
[00007f812dee8eb0] securetransport tls client debug: close TLS session
[00007f812dee8eb0] securetransport tls client debug: close secure transport client
EXIT
MacBooksMBP2243:~ macbookproretina$
Don't know really what to do now.
The item more similar to a playlist is a libvlc_media_list, so I tried to use a libvlc_media_list_player, attaching to it a libvlc_media_list containing one only URL.
But that also doesn't work...