DSPlayer #591

Closed
wants to merge 3 commits into
from

Projects

None yet

7 participants

@tiben20
Collaborator
tiben20 commented Dec 28, 2011

directshow based player

@elupus
Member
elupus commented Dec 28, 2011

Crikie this has grown to a beast :), Glanced through it quickly and quite a lot is now fine. No binaries and such anymore.

I noticed that CLog::DebugLog which was removed from trunk has trickled back. I assume it's not needed, so would be nice to get it dropped.

Also the IPaintCallback seems a bit silly. Wouldn't it be better to make the DSRenderer contain all that is needed instead? For example I could see using the DSRenderer together with dvdplayer's dxva support.

Then there are a few things in there which would be nice to split out to separate commits. Like the charset changes.

@wsoltys
Member
wsoltys commented Dec 28, 2011

what about the ffmpeg changes? Are they pulled from head or do we need patches for every change here to do the upcoming ffmpeg updates?

@tiben20
Collaborator
tiben20 commented Dec 28, 2011

ffmpeg change are going to be removed. They were only required for internal filters and i won't keep the internal filters they required too much change in the ffmpeg core to be stable.
@elupus ill look into removing the ipaintcallback and the debuglog too

@wsoltys
Member
wsoltys commented Dec 28, 2011

Is there any special thing to do to make it run with Visual Studio Express under the debugger? I just keep getting the message that VS is unable to start it because the application configuration is incorrect!?
This happens right before any output in the debug window appears.

@theuni
Member
theuni commented Dec 28, 2011

I'll stay out of the technical discussion here, but let's please not even consider merging this until Eden is out the door. This would make backporting anything else very difficult.

@theuni theuni closed this Dec 28, 2011
@theuni theuni reopened this Dec 28, 2011
@theuni
Member
theuni commented Dec 28, 2011

Grr, sorry, wrong button.

@CrystalP
Collaborator

@tiben20, is it possible for you to make a version with the internal filter changes removed (in ffmpeg and xbmc)

There are no binaries in-tree but the player is not functional as-is and needs a basic package of filters. The question I think is whether to download them like the other windows binaries deps at build time and bundle in the installer, or to download them at run-time, as a sort of add-on I suppose.

I haven't looked closely yet, but something in there is messing with the dirty regions and causes shimmies especially in fullscreen exclusive mode, not sure about windowed modes.

@0wing
0wing commented Dec 29, 2011

Rebased with tiben's latest commits:

Internal filters removed
Fffmpeg change reverted
Fixed subtitles in gui settings tab

@wsoltys
Member
wsoltys commented Dec 29, 2011

still no joy for me. Is the .reg needed to start XBMC? Any other idea what I could have done wrong?

@wsoltys
Member
wsoltys commented Dec 29, 2011

just for the record: it doesn't even reach WinMain for me.

@tiben20
Collaborator
tiben20 commented Dec 29, 2011

@wsoltys i have no idea you might be able to get more help with google, i never got this bug with vs studio

@CrystalP
Collaborator

You shouldn't need to register anything, at least I didn't. I just switched branch, did a rebuild all, and it started. I didn't bother rebuilding an mingw/ffmpeg stuff. The filter pack has to be manually copied (or you must have some filters preinstalled I suppose) for anything to play but that's something else.
I'm going to try pretty soon on a brand new Windows install, we'll see what happens.

edit: VS is twitchy when switching to a branch with changes to the project file of the opened project, I always do a close solution/switch/reopen solution.

@0wing
0wing commented Jan 3, 2012

@wsoltys Debugging on x64 systems should be working now.

@wsoltys
Member
wsoltys commented Jan 3, 2012

Jup, I can start XBMC in debug target now, great. Some small issues still persist:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.Targets(1200,9): warning : The referenced project '..\..\..\..\..\project\VS2010Express\guilib.vcxproj' does not exist.
And the subtitle dll won't build due to:
mt.exe : general error c101008a: Failed to save the updated manifest to the file "F:\Coding\Windows\xbmc_wsoltys\project\VS2010Express\objs\libsubs_dll\Debug\libsubs.dll.embed.manifest". Wrong Parameter.

Beside that we have a lot of warnings. Maybe nitpicking but it would be nice to reduce them a little ;)

@wsoltys
Member
wsoltys commented Jan 3, 2012

Just for interest. I see that XBMC loads some shaders for dsplayer at start even though I don't wanna use it. Is it possible to load them only when dsplayer is used?
Not sure if the effort is higher than the time it saves us on every start but XBMC already starts slower than some years ago ;)

@tiben20
Collaborator
tiben20 commented Jan 3, 2012

I will look into the reason why the shaders loading when not using dsplayer when i added the shaders for dsplayer they were not loading when dsplayer was not used.
For the warnings i might need some help

@wsoltys
Member
wsoltys commented Jan 3, 2012

Nice. We'll help with the warnings after the merge. But maybe you can reduce some of them by just set to ignore them ;)
Obviously we should take a deeper look at the redefinition ones as this could have different meanings.

@CrystalP
Collaborator
CrystalP commented Jan 5, 2012

Good, it builds & starts in x64!. It won't play though, the relevant error seems to be CFGLoader::InsertFilter Failed to create filter "ffdaudiodec". This is on a pretty new install of w64, with no codec packs or other dshow players installed.

Can you please convert the baseclass project to vs2010 and integrate it in the main xbmc solution? The strmbas*.lib should be built by the solution, instead of being carried in the git repo.
Building with vs2010 requires the inclusion of IntSafe.h in winctrl.cpp and winutil.cpp (before other headers or SAFE_DIBSIZE won't be found) and generates a bunch of redefinition warnings - that's ok it's a known problem of the Win SDK. They can be set to be ignored.

@tiben20
Collaborator
tiben20 commented Jan 5, 2012

I will add a message notifying the user that he doesn't have the codec required to play the file. It will be better than a easier for the user instead of having to look at a line in the xbmc.log
Don't remember why blinkseb removed the baseclasse from the solution it was there when i incorporated them at the start

@tiben20
Collaborator
tiben20 commented Jan 8, 2012

Cptspiff:
I removed everything in log.h,log.cpp and thread.h
about timeutils.cpp i'm using the function llMulDiv which come from the baseclasses which is only for windows directshow.
Also cleaned the typo and used = {0} for guiwindowsettingscategory
Still need too see about the modification in stdstring.h
for the Util.cpp currently .sup are bluray subtitles and can be used by dsplayer

@MartijnKaijser
Member

@tiben20
are you willing to work on this one or could we close this? perhaps better to open a new PR when the time comes?

@tru tru added a commit to plexinc/plex-home-theater-public that referenced this pull request Sep 5, 2013
@tru tru Make sure to set isSecondary to false, fix history problems
Fixes #591
f1350cb
@MartijnKaijser
Member

Going to close this one. Feel free to open a new PR against current master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment