Kodi Community Forum
[PATCH] LaunchPlayer - External Video Player Launcher (to launch third-party players) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+--- Thread: [PATCH] LaunchPlayer - External Video Player Launcher (to launch third-party players) (/showthread.php?tid=40136)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27


- Jester - 2008-12-07

konfoo Wrote:Fixed zoom player issue, it works for me now: externalplayer-16492.patch on Trac #5300.
See first post for new configuration settings.

Doing a new build as we speak....


Edit:
Build upped into the Test folder


- ashlar - 2008-12-07

Just tried Jester's latest build. The problem remains.

It's not ZoomPlayer not staying on top, is XBMC staying on top of the top I don't know what else to think. I use ZoomPlayer with VMR7 if that could help.

If I launch XBMC in Windowed mode, XBMC stays on top. It's frozen (if I enable debug all the data on the top part of XBMC freezes) but remains on top. Having the standard Windows dressing I can minimize it and then, only then, ZoomPlayer comes on top, playing in fullscreen.

Tell me if you wish another log, I'm really clueless at this point.

Edit: here's the log http://pastebin.com/f1095ecaf

Edit 2: I feel almost guilty in having this unsolvable problem, sorry... Sad


- konfoo - 2008-12-08

ashlar Wrote:Just tried Jester's latest build. The problem remains.

It's not ZoomPlayer not staying on top, is XBMC staying on top of the top I don't know what else to think. I use ZoomPlayer with VMR7 if that could help.

If I launch XBMC in Windowed mode, XBMC stays on top. It's frozen (if I enable debug all the data on the top part of XBMC freezes) but remains on top. Having the standard Windows dressing I can minimize it and then, only then, ZoomPlayer comes on top, playing in fullscreen.

Tell me if you wish another log, I'm really clueless at this point.

It's supposed to be frozen. Rendering is halted so as not to consume memory while the external player runs.

Did you set

Code:
<forceontop>false</forceontop>

This tweak was added specifically because I experienced the same problem with zoom player. Adding workaround code (i.e. this tweak) resolves the issue for me and zp plays in the foreground.

I installed the latest zoomplayer and ran it with the same settings as per your debug log. I did no additional configuration to zp.

Since your problem can't be reproduced I have to chalk it down to your configuration, and there is no way to fix a bug that I cannot reproduce locally.

*EDIT* you have forceontop set to true, which forces xbmc to the top. Set it to false.


- ashlar - 2008-12-08

GREAT!!!!!!!
[SIZE=2]That was it. Now it works perfectly, with ZoomPlayer having the focus correctly. I can't thank you enough.
Thank you. Thank you. Thank you!!!

Two things:

1) Forceontop "false" is counterintuitive when you consider that it's a configuration for externalplayer. I immediately thought I had to set it to true because I wanted the externalplayer on top.
2) In the first post you say that defaultplayer has to be set to true but instead your example has <defaultplayer>externalplayer</defaultplayer> which is working correctly. Maybe it's an old description?

But really, you have gone above and beyond in helping me (and hopefully others) so, once more, thank you. Nod
[/SIZE]


- konfoo - 2008-12-08

ashlar Wrote:1) Forceontop "false" is counterintuitive when you consider that it's a configuration for externalplayer. I immediately thought I had to set it to true because I wanted the externalplayer on top.
2) In the first post you say that defaultplayer has to be set to true but instead your example has <defaultplayer>externalplayer</defaultplayer> which is working correctly. Maybe it's an old description?

No problem.

1. Forceontop is actually for the externalplayer (corrected the first place). It backfires on some apps and grabs XBMC's window handle instead, however (zp).
2. Fixed.


- cruonline - 2008-12-08

How about launching SwarmPlayer to support playback of .tstream files. some info)
Is it possible to define more than one external player?


- konfoo - 2008-12-08

cruonline Wrote:How about launching SwarmPlayer to support playback of .tstream files. some info)
Is it possible to define more than one external player?

Read the first post.


- cruonline - 2008-12-08

konfoo Wrote:Read the first post.

I've read it.

It hasn't give me a definitive answer but my guess it's hardcoded to support only one external player. However it can't be difficult to modify code to allow defining multiple external players. Either by hardcoding fixed set of players (externalplayer1, externalplayer2...) or by allow configuring any number of players strictly in xml.


- ashlar - 2008-12-08

cruonline Wrote:I've read it.

It hasn't give me a definitive answer but my guess it's hardcoded to support only one external player. However it can't be difficult to modify code to allow defining multiple external players. Either by hardcoding fixed set of players (externalplayer1, externalplayer2...) or by allow configuring any number of players strictly in xml.
I think konfoo referred to:
konfoo Wrote:- Extplayer should 'do more stuff': your player should 'do more stuff' -- extplayer is a launcher for video playback, nothing more or less
- But I want it to do X before my video launches: make a wrapper batch file or application that does what you need and then launches the player you want
Wink

And yes, it's hardcoded to support one player for video and one player for audio. Understand that this, for the developers (and personally I agree), is just a stopgap measure for features not yet directly supported by internal player(s).
XBMC has a legacy of a "all built-in" application to live up to. Big Grin


- cruonline - 2008-12-08

So, it leaves me (and other bittorent streaming fans) to use SwarmPlayer (as externalplayer) to support bstream and buitin dvdplayer for everything else.
I can live with that but was hoping for more Smile

thanks anyway, this mod is great idea.


- ashlar - 2008-12-08

I understand where you're coming from but:

a) if you browse this thread there is a user that did a bit of clever batch creating to enable a solution for specific file types (or so I remember, have a look).

b) the objective is for you to need no external players at all. In the meantime we have the opportunity to use one. Smile


- sleepnd - 2008-12-08

hi, i'm new to this forum. nice to meet youLaugh

i downloaded the svn built 16496 and created advancedsettings.xml together, but no luck, the external player doesn't come out...attached setting and log, is there anything wrong on it?

my settings.
[advancedsettings.xml]
Code:
<advancedsettings>
<video>
  <defaultplayer>externalplayer</defaultplayer>
</video>
<externalplayer>
  <filename>c:\mplayer\mplayer.exe</filename>
  <args></args>
  <forceontop>false</forceontop>
  <hideconsole>false</hideconsole>
  <hidecursor>false</hidecursor>
</externalplayer>
</advancedsettings>

[xbmc.log]
Code:
02:30:05 T:3308 M:1305595904  NOTICE: Mapping drive Z to C:\Documents and Settings\sleepnd\Application Data\XBMC\cache
02:30:05 T:3308 M:1305554944  NOTICE: Mapping drive T to C:\Documents and Settings\sleepnd\Application Data\XBMC\userdata
02:30:05 T:3308 M:1305554944  NOTICE: Mapping drive Q to C:\Program Files\XBMC
02:30:05 T:3308 M:1305554944  NOTICE: Mapping drive U to C:\Program Files\XBMC
02:30:05 T:3308 M:1305444352  NOTICE: -----------------------------------------------------------------------
02:30:05 T:3308 M:1305427968  NOTICE: Starting XBMC, Platform: Windows XP Professional Service Pack 3 build 2600.  Built on Dec  8 2008 (compiler 1500)
02:30:05 T:3308 M:1305427968  NOTICE: Intel(R) Core(TM)2 CPU          6420  @ 2.13GHz
02:30:05 T:3308 M:1305423872  NOTICE: Desktop Resolution: 1360x768 32Bit at 60Hz
02:30:05 T:3308 M:1305423872  NOTICE: Q is mapped to: C:\Program Files\XBMC
02:30:05 T:3308 M:1305423872  NOTICE: The executable running is: C:\Program Files\XBMC\XBMC.exe
02:30:05 T:3308 M:1305423872  NOTICE: Log File is located: C:\Documents and Settings\sleepnd\Application Data\XBMC\xbmc.log
02:30:05 T:3308 M:1305423872  NOTICE: -----------------------------------------------------------------------
02:30:05 T:3308 M:1305403392  NOTICE: Setup SDL
02:30:05 T:3308 M:1304363008  NOTICE: load settings...
02:30:05 T:3308 M:1304346624  NOTICE: Mapping drive P to C:\Documents and Settings\sleepnd\Application Data\XBMC\userdata
02:30:05 T:3308 M:1304342528  NOTICE: loading C:\Documents and Settings\sleepnd\Application Data\XBMC\userdata\guisettings.xml
02:30:05 T:3308 M:1304018944  NOTICE: Getting hardware information now...
02:30:05 T:3308 M:1304018944  NOTICE: Checking resolution 10
02:30:05 T:3308 M:1304018944  NOTICE: Setting autoresolution mode 1
02:30:05 T:3308 M:1303965696  NOTICE: Loaded advancedsettings.xml from C:\Documents and Settings\sleepnd\Application Data\XBMC\userdata\advancedsettings.xml
02:30:05 T:3308 M:1303949312  NOTICE: Getting hardware information now...
02:30:05 T:3308 M:1303945216  NOTICE: Checking resolution 10
02:30:05 T:3308 M:1303941120  NOTICE: Setting autoresolution mode 1
02:30:05 T:3308 M:1304002560  NOTICE: C:\Documents and Settings\sleepnd\Application Data\XBMC\userdata\sources.xml
02:30:05 T:3308 M:1289629696  NOTICE: start dvd mediatype detection
02:30:05 T:3308 M:1289617408  NOTICE: initializing playlistplayer
02:30:05 T:3308 M:1289605120  NOTICE: DONE initializing playlistplayer
02:30:05 T:3308 M:1289539584  NOTICE: load default skin:[PM3.HD]
02:30:05 T:3308 M:1285353472  NOTICE: initialize done
02:30:05 T:3308 M:1285398528  NOTICE: Running the application...
02:30:05 T:3308 M:1284988928  NOTICE: ES: Starting event server
02:30:05 T:3868 M:1284157440  NOTICE: ES: Starting UDP Event server on 127.0.0.1:9777
02:30:05 T:3868 M:1284153344  NOTICE: UDP: Listening on port 9777
02:30:11 T:3308 M:1283162112  NOTICE: DVDPlayer: Opening: E:\HD-Movie\ANESSA_CM.avi
02:30:11 T:3308 M:1283158016 WARNING: CDVDMessageQueue::Put MSGQ_NOT_INITIALIZED
02:30:11 T:2624 M:1283129344  NOTICE: Creating InputStream
02:30:11 T:2624 M:1283104768  NOTICE: Creating Demuxer
02:30:11 T:2624 M:1274204160  NOTICE: Opening video stream: 1 source: 256
02:30:11 T:2624 M:1274204160  NOTICE: Creating video codec with codec id: 2
02:30:11 T:2624 M:1274486784  NOTICE: Creating video thread
02:30:11 T:2624 M:1274474496  NOTICE: Opening audio stream: 0 source: 256
02:30:11 T:2624 M:1274474496  NOTICE: Finding audio codec for: 86017
02:30:11 T:2624 M:1274195968  NOTICE: Creating audio thread
02:30:11 T:532 M:1274179584  NOTICE: running thread: CDVDPlayerAudio::Process()
02:30:11 T:236 M:1273847808  NOTICE: running thread: video_thread
02:30:11 T:2624 M:1273532416 WARNING: CDVDPlayer::CheckContinuity - stream wrapback detected (2)
02:30:11 T:532 M:1269764096  NOTICE: Creating audio device with codec id: 86017, channels: 2, sample rate: 48000, no pass-through
02:30:11 T:532 M:1269538816 WARNING: CWin32DirectSound::AddPackets - buffer underrun
02:30:12 T:236 M:1263890432  NOTICE:  fps: 29.970030, pwidth: 1440, pheight: 1088, dwidth: 1920, dheight: 1080
02:30:12 T:236 M:1263874048  NOTICE: Display resolution AUTO : 720p 16:9 (1)
02:30:12 T:236 M:1263874048 WARNING: Upscale: selected algorithm 1
02:30:12 T:3308 M:1259229184  NOTICE: GL: Selecting YUV 2 RGB Progressive Shader
02:30:12 T:3308 M:1257443328  NOTICE: GL: NPOT texture support detected
02:30:16 T:3308 M:1253339136  NOTICE: CDVDPlayer::CloseFile()
02:30:16 T:3308 M:1253302272  NOTICE: DVDPlayer: waiting for threads to exit
02:30:16 T:2624 M:1253302272  NOTICE: CDVDPlayer::OnExit()
02:30:16 T:2624 M:1253302272  NOTICE: DVDPlayer: closing audio stream
02:30:16 T:2624 M:1253302272  NOTICE: Closing audio stream
02:30:16 T:2624 M:1253302272  NOTICE: waiting for audio thread to exit
02:30:16 T:532 M:1253302272   ERROR: CDVDAudio::AddPackets - failed to add leftover bytes to render
02:30:16 T:532 M:1253302272  NOTICE: Closing audio device
02:30:16 T:532 M:1253498880  NOTICE: thread end: CDVDPlayerAudio::OnExit()
02:30:16 T:2624 M:1253560320  NOTICE: Deleting audio codec
02:30:16 T:2624 M:1253560320  NOTICE: DVDPlayer: closing video stream
02:30:16 T:2624 M:1253560320  NOTICE: Closing video stream
02:30:16 T:2624 M:1253560320  NOTICE: waiting for video thread to exit
02:30:16 T:236 M:1253548032  NOTICE: thread end: video_thread
02:30:16 T:2624 M:1255890944  NOTICE: deleting video codec
02:30:16 T:2624 M:1262956544  NOTICE: CDVDPlayer::OnExit() deleting demuxer
02:30:16 T:2624 M:1262956544  NOTICE: CDVDPlayer::OnExit() deleting input stream
02:30:16 T:3308 M:1262985216  NOTICE: DVDPlayer: finished waiting
02:30:16 T:3308 M:1262686208  NOTICE: CDVDPlayer::CloseFile()
02:30:16 T:3308 M:1262686208 WARNING: CDVDMessageQueue::Put MSGQ_NOT_INITIALIZED
02:30:16 T:3308 M:1262686208  NOTICE: DVDPlayer: waiting for threads to exit
02:30:16 T:3308 M:1262686208  NOTICE: DVDPlayer: finished waiting
02:30:16 T:3308 M:1262686208  NOTICE: CDVDPlayerVideo::~CDVDPlayerVideo - uninitting video device



- ashlar - 2008-12-08

sleepnd Wrote:<forceontop>false</forceontop>
Have you tried setting forceontop as true? From what (little) I understand this setting depends on the player you use.


- Jester - 2008-12-08

the reason why it doesnt work is because the launchplayer patch is done on Rev16492 and you have to download it from the Test folder

if it doesnt say externalplayer in the filename, the patch is not done.


- Jester - 2008-12-08

Made a new build, no longer using the Test Folder as I think the patch is stable enough
Upped Rev16496

XBMCSetup-Rev16496-kricker-externalplayer.exe