• 1
  • 75
  • 76
  • 77(current)
  • 78
  • 79
  • 95
DSPlayer (DirectShow Player for XBMC) Frodo build available
Are my eyes deceiving me Cool
Optoma HD Projector, Panasonic TX-P65VT65 Plasma, Pioneer SC2023 AVR, Kef Q65 main, iQ8ds rear, XQ2C centre, XBOX 360 Elite, Samsung LE40C650, SKY HD, Lutron Lighting, Crestron AV2 control

(Server)CPU - AMD Phenom ii 560, MB - M4A78LT-M, 32GB Corsair SSD, 4GB Corsair DDR3, 6x 1.5TB HDD's

XBMC Clients x2 (DSPlayer)
Reply
You'll make lots of friends if you pull this off Nod
Reply
@aracnoz
are u working on implementing madVR?
I guess u know there was some ppl working on this (including Tiben, original DSPlayer dev), but nowadays it all remain as promises.
I mean, it must not be easy.
HTPC
Silverstone Grandia GD05 - Intel i5 3570k -Asus H61M-G Micro-ATX - Unidad Blu-ray
MSI GTX970 4GB GDDR5 - 8 GB RAM DDR3 - AVR Denon X3400H Atmos - LG  OLED 55C7V
Reply
i tried to do something with madvr in last two days

i made some important step, infact the problem of tiben was that the xbmc interface was not rendered on madvr, now it does

at moment i have the madvr working in windowed mode, with the interface of Kodi rendered on it that work and respond to any command (play, pause, seek)

I should to synchronize the render that come from kodi with madvr videoplayback because everything blink when Kodi shows the gui

there are alot of things to do, and i've not experience with direct3ddevice9

i need help, i think that with this important step up maybe with tiben everything could proceed faster

also i would to speak with madshi because there is a strange behavior when there is the madvr statistics osd

too much work to do alone

so for now i'm sorry but once again no madvr with dsplayer
Reply
@aracnoz
U've done a lot already, and i'm grateful buddy.
MadVr is an old dream of Dsplayers, and i think it will remain as that, who knows, some day Wink
HTPC
Silverstone Grandia GD05 - Intel i5 3570k -Asus H61M-G Micro-ATX - Unidad Blu-ray
MSI GTX970 4GB GDDR5 - 8 GB RAM DDR3 - AVR Denon X3400H Atmos - LG  OLED 55C7V
Reply
I know it's a difficult things but maybe not impossible, I made some others important step forward, now there it's not blink or stutter in playback or on the gui, before this fix everythings was like a stroboscopic flash
so the two render are synchronized

but when Kodi show it's gui there is a loop in video playback with the last second

this it's a video

https://www.youtube.com/watch?v=kfCKeSKD...e=youtu.be

i wanna explain how everythings work so that maybe if a team kodi developer or madshi read this post can submit a possible solution

normally in application.render() there is a framewait

m_bPresentFrame = g_renderManager.FrameWait(100);

i suppose that it's for wait an available frame from XBMC EVR

so in RenderManager when the present it's ready

m_presentstep = PRESENT_READY

application.render() begin to render the final frame to submit

before render everything he clear the device with

application.RenderNoPresent()

...
g_renderManager.Render(true, 0, 255);


this because when we move the mouse if the frame before it's not cleared we would see the trail of the movement of the mouse printed on video

so many many mouse stamped on the screen

now how work madVR with kodi

at begin when the render it's created we let him utilize the device created by Kodi with this interface
suited by madshi especially for xbmc develompent

IMadVRDirect3D9Manager
STDMETHOD(UseTheseDevices)(LPDIRECT3DDEVICE9 scanlineReading, LPDIRECT3DDEVICE9 rendering, LPDIRECT3DDEVICE9 presentation) = 0;

so in madvrallocator there is

m_pD3DDevice = g_Windowing.Get3DDevice();
hr = pMadVrD3d->UseTheseDevices(m_pD3DDevice, m_pD3DDevice, m_pD3DDevice);

that before take the kodi device and then tell to madvr to utilize it

then there is an interface that callback when madvr has finish to render the frame

STDMETHODIMP RenderOsd (LPCSTR name, REFERENCE_TIME frameStart, RECT *fullOutputRect, RECT *activeVideoRect)

to synchronize Kodi device with madVR device i've put a call

g_renderManager.NewFrame();

that contain m_presentstep = PRESENT_FLIP

to interrupt the g_renderManager.FrameWait() in application.render() and render everythings, but before do that i've removed the clear when using madvr

g_renderManager.Render(true, 0, 255);

because this also clears the renders of madVR and we would have a black frame, we not need to clear the previous frame because madvr each time that renders a new frame clears the entire picture
but this means that without a working playback that come from madVR we would have a trail of mouse printed on video if the gui it's active
so this it's the conclusion... why there it's a loop when Kodi shows the gui?

madvr work with separate thread and continue to play the video and send frame because otherwise the previous frames would not be cleared and we would see a trail of mouse printed on the gui
another proof is that this loop process don't pause the video... the playback continue normally in background and when the gui it's closed the video resumes as nothing happened

so i think that the problem come from the render process of kodi vs madvr but I could not find the problem

anyway i made a new branch with madvr https://github.com/aracnoz/xbmc/tree/Hel...ayer_madvr

if someone wants to help in the development
Reply
lol understood nothing...
So, u mean, the only thing not working is the playback when the GUI is displayed in any way?
Man, i cross my fingers
HTPC
Silverstone Grandia GD05 - Intel i5 3570k -Asus H61M-G Micro-ATX - Unidad Blu-ray
MSI GTX970 4GB GDDR5 - 8 GB RAM DDR3 - AVR Denon X3400H Atmos - LG  OLED 55C7V
Reply
@ aracnoz - wow! Care to post a test build?
LG OLED55BX6LB, Zidoo Z1000 Pro (ZDMC 20.2 Arctic Zephyr 2 Resurrection), Yamaha RX-A3060, Polk Signature Fronts & Centre, Wharfedale D300 Atmos surrounds, Heco Victa Prime Sub 252A, DSPeaker Antimode 8033 Cinema
Reply
(2015-03-07, 11:42)oldpainless Wrote: @ aracnoz - wow! Care to post a test build?

You have the link to that version at the end of his post buddy, in github
https://github.com/aracnoz/xbmc/tree/Hel...ayer_madvr
HTPC
Silverstone Grandia GD05 - Intel i5 3570k -Asus H61M-G Micro-ATX - Unidad Blu-ray
MSI GTX970 4GB GDDR5 - 8 GB RAM DDR3 - AVR Denon X3400H Atmos - LG  OLED 55C7V
Reply
an update with madVR

I solved the problem with the kodi gui but I had to disable something in d3d device

pD3DDevice-> SetRenderState (D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pD3DDevice-> SetRenderState (D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

this is the cause of the loop when Kodi shows the gui, this it's a video

https://www.youtube.com/watch?v=FmjbHREU...e=youtu.be

as you can see we lost the texture in this way :\

i should to speak with madshi or a kodi team member to ask about this thing

because i don't know where the problem come out... from madvr or kodi

anyway now i know why it's so difficult to implement madvr in dsplayer

Kodi and madVr are like two videogames based on Directx9 with theirs own graphic engine... (infact i found some reference to ogre3d in kodi)

mpc or other simple player don't have a graphics directx9 gui...

so you have to imagine to integrate tomb raider and pes together without frame issue Smile


ciauzz
Reply
hi,
to be honest: i understand nothing about that. i only want to say that it seems that kodi 15 will come with directx11.
http://forum.kodi.tv/showthread.php?tid=...pid1925853

i can imagine 2 things:
1)maybe its not worth to put a lot of time in madvr for dsplayer kodi14 (directx9) because maybe this will not work with the upcoming kodi versions?
2)maybe you will have more succes to get this to work with directx11 (link above)?

but as i said: i dont understand much about that and maybe i am completly wrong...
Reply
(2015-03-08, 19:48)aracnoz Wrote: an update with madVR

I solved the problem with the kodi gui but I had to disable something in d3d device

pD3DDevice-> SetRenderState (D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pD3DDevice-> SetRenderState (D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

this is the cause of the loop when Kodi shows the gui, this it's a video

https://www.youtube.com/watch?v=FmjbHREU...e=youtu.be

as you can see we lost the texture in this way :\

i should to speak with madshi or a kodi team member to ask about this thing

because i don't know where the problem come out... from madvr or kodi

anyway now i know why it's so difficult to implement madvr in dsplayer

Kodi and madVr are like two videogames based on Directx9 with theirs own graphic engine... (infact i found some reference to ogre3d in kodi)

mpc or other simple player don't have a graphics directx9 gui...

so you have to imagine to integrate tomb raider and pes together without frame issue Smile


ciauzz

I hope this works out for you. It is my dream set-up. madshi seems pretty approachable at the Doom9 forums; I'd ask him about the coding approach.

I would only recommended implementing this if the performance is on-par with JRiver Media Center or MPC. I wouldn't be interested in turning down my madVR settings to use the Kodi GUI when I can use MPC as an external player with everything on max. Media Browser Theater suffers from this problem. It's madVR performance is terrible and a real turn-off.
Reply
http://forum.doom9.org/showthread.php?t=146228

This would be the best thread to ask, and Madshi has been active in the last couple of days, so there's a good chance he will see it.
Reply
after a couple of days now i know that it's not possible to integrate madvr in dsplayer

there are some interfaces provided by madshi but these interfaces are not compatible with Kodi rendering gui system

to have a stable kodi interface on madvr we have need a new intervent from madshi

there is this useful callback RenderOSD that it's called when madvr end the rendering but if i call the Kodi rendering gui from here nothing it's rendered
to show something i have to synchronize the render() thread of Kodi with a CEvent that wait and it's triggered when RenderOSD from madvr it's closed
or create a thread that does the same thing

with this trick we have the magic of Kodi gui on madvr but we cannot blend the texture because the loop issue as you can see in the first video
this loop issue happens because the kodi gui it's rendered in a different Scene that begin after that madvr has ended his scene, but more in general it's not a clean solution, the interface it's rendered wih some flickering anyway

i know that probably the majority of you understand nothing about this but i wrote this report to have a history if some days someone want to proceed with this battle Smile

the conclusion it's that when madvr end his scene do something that make possible to render kodi gui...

so the necessary things are 3

- figure out why when i call the Kodi rendering inside RenderOSD nothing it's rendered and then what's happens next that renderosd it's closed that make the kodi gui rendered properly?
- madshi it's available to investigate for dsplayer community?
- the last thing it's another strange effect... ever nothing that comes from Kodi it's rendered on madvr device until i active the OSD with madvr statistics (Ctrl+J)... without the osd i'm no able to show anything on madvr
and if i close the playback of the video with madvr statistics closed the main menu of kodi has an entire black screen... everything working but the screen it's totally black... so maybe madvr changes some flags in the d3d device when the osd with statistics it's on/off, i made a little trick to have the video and gui rendered without statistics adding a bmp with another madvr interface, an image of a black single pixel positioned in an angle of the screen, but once again, even if you cannot see this pixel, it's a very not elegant solution Smile

that's all

ciauzz
Reply
@aracnoz

Buddy, once again, thanks for all ur effort, even if u discovered it is impossible.
HTPC
Silverstone Grandia GD05 - Intel i5 3570k -Asus H61M-G Micro-ATX - Unidad Blu-ray
MSI GTX970 4GB GDDR5 - 8 GB RAM DDR3 - AVR Denon X3400H Atmos - LG  OLED 55C7V
Reply
  • 1
  • 75
  • 76
  • 77(current)
  • 78
  • 79
  • 95

Logout Mark Read Team Forum Stats Members Help
DSPlayer (DirectShow Player for XBMC) Frodo build available8