Skip to content
This repository

DSPlayer #591

Closed
wants to merge 3 commits into from

7 participants

tiben20 Joakim Plate wsoltys Cory Fields CrystalP 0wing Martijn Kaijser
tiben20
Collaborator

directshow based player

Joakim Plate
Collaborator

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
Collaborator

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

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
Collaborator

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.

Cory Fields
Owner

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.

Cory Fields theuni closed this December 28, 2011
Cory Fields theuni reopened this December 28, 2011
Cory Fields
Owner

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

Rebased with tiben's latest commits:

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

wsoltys
Collaborator

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

wsoltys
Collaborator

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

tiben20
Collaborator

@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

@wsoltys Debugging on x64 systems should be working now.

wsoltys
Collaborator

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
Collaborator

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

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
Collaborator

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

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

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

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

Rainer Hochecker FernetMenta referenced this pull request from a commit July 25, 2012
Commit has since been removed from the repository and is no longer available.
Martijn Kaijser

@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?

Tobias Hieta tru referenced this pull request from a commit in plexinc/plex-home-theater-public August 19, 2013
Tobias Hieta Make sure to set isSecondary to false, fix history problems
Fixes #591
f1350cb
Martijn Kaijser

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

Martijn Kaijser MartijnKaijser closed this September 19, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.