Kodi Community Forum
[WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: [WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] (/showthread.php?tid=61355)



- tiben20 - 2010-08-07

zilexa Wrote:What you're doing, both of you is great for the HTPC world! It just takes a lot of time.
I like it, internal decoder based on MPC-HC (so no need for MPC HC files) and the option to use a different decoder (except mpc-hc cos we now have the internal decoder based on mpc-hc).
I suppose this being a work in progress, when released it will still be possible to use ffdshow filters (for improving th video quality of non-dxva video or - if people want to upscale dxva material - also for dxva video)?
Basically you can just use ffdshow.
I only want someone with absolutely no codecs being able to read the files without including the current filters.
ffdshow filters is a really big piece of code. I'm not really planning to add those feature to the video decoder. The only interesting part i really like is the ffdshow audio filters. I might do the internal audio decoder based on ffdshow audio. But this is only speculation, there still a lot of stuff to fix in other filters before starting a new one.


- liquidskin76 - 2010-08-08

tiben20 Wrote:vs2010 need to be updated delete the dsdemuxerthread.cpp and .h from the project

Hey tiben and seb,

Ok, cheers. That solved that one, however i'm now getting the following fail when compiling on vs2010...

43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPacketQueue::Clear(void)" (?Clear@CPacketQueue@@QAEXXZ)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: int __thiscall CPacketQueue::Size(void)" (?Size@CPacketQueue@@QAEHXZ)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPacketQueue::Queue(class Packet *)" (?Queue@CPacketQueue@@QAEXPAVPacket@@@Z)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: class Packet * __thiscall CPacketQueue::Get(void)" (?Get@CPacketQueue@@QAEPAVPacket@@XZ)
43>XBMC\Release (DirectX)\XBMC.exe : fatal error LNK1120: 4 unresolved externals


Any ideas?

Cheers


- tiben20 - 2010-08-08

liquidskin76 Wrote:Hey tiben and seb,

Ok, cheers. That solved that one, however i'm now getting the following fail when compiling on vs2010...

43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPacketQueue::Clear(void)" (?Clear@CPacketQueue@@QAEXXZ)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: int __thiscall CPacketQueue::Size(void)" (?Size@CPacketQueue@@QAEHXZ)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: void __thiscall CPacketQueue::Queue(class Packet *)" (?Queue@CPacketQueue@@QAEXPAVPacket@@@Z)
43>DSOutputpin.obj : error LNK2001: unresolved external symbol "public: class Packet * __thiscall CPacketQueue::Get(void)" (?Get@CPacketQueue@@QAEPAVPacket@@XZ)
43>XBMC\Release (DirectX)\XBMC.exe : fatal error LNK1120: 4 unresolved externals


Any ideas?

Cheers
add packetqueue.h and packetqueue.h to the project


- hsinchu308 - 2010-08-08

tiben20 Wrote:Its adding dxva to ffmpeg for directshow in a clean way. Mpc-hc fork is so ugly their is no way currently that their dxva implementation could ever get into ffmpeg officially.
And the demuxer is only not working if your using mpcvideodec or ffdshow. MS H264 decoder works, CoreAVC works, Haali with the internal video deocder works. Its just the ugly fork coming from mpcvideodec that is not working with the demuxer.

**Since the internal decoder is basically mpc-hc decoder rewritten i don't see why someone would use the mpcvideodec

So currently does the internal demuxer work with MS DTV-DVD video decoder for mpeg2 files? I don't have high bit rate H.264 files that I can use to test the demuxer, only mpeg2 files.


- liquidskin76 - 2010-08-08

tiben20 Wrote:add packetqueue.h and packetqueue.h to the project

OK, did that however now getting...

43>BaseSplitter.obj : error LNK2005: "public: __thiscall CPacketQueue::CPacketQueue(void)" (??0CPacketQueue@@QAE@XZ) already defined in DSOutputpin.obj
43> Creating library XBMC\Release (DirectX)\XBMC.lib and object XBMC\Release (DirectX)\XBMC.exp
43>XBMC\Release (DirectX)\XBMC.exe : fatal error LNK1169: one or more multiply defined symbols found



- tiben20 - 2010-08-09

hsinchu308 Wrote:So currently does the internal demuxer work with MS DTV-DVD video decoder for mpeg2 files? I don't have high bit rate H.264 files that I can use to test the demuxer, only mpeg2 files.
Sample would be the best way to know if its working. And if it's not working ill add support for it.
So far m2ts dxva h264 worked also mp4 worked under dxva. I'm working on getting dxva2 to work but i need to speak with the guy from ffmpeg about the way the patch will not affect holder dxva implementation. At least i know many ways to do it i just don't want to do it twice.


- relayer35 - 2010-08-09

I tried to redo the build myself yesterday, but finally gave up. A lot of people post here saying how easy it is if you just read the directions, but that's not really the case. I only wanted to see if the problem with the black screen is fixed so I don't have to configure Windows Media Player to play my Sony Handycam files, since DVDPlayer can't handle the 60fps 1080i material. But its not honestly worth the headache. Every time I fix something, something else is missing and I post here just for someone to tell me I didn't do a step that I actually did. Can anyone confirm that the issue with the black screen playback is fixed (the one that goes away for a little while after you reboot)?


- TerranQ - 2010-08-09

Agreed with the above. Can someone post an updated build in a new thread? I had to ditch the DSplayer build this weekend because I just couldn't get rid of the black screen after having no issues with it until then. Reboot didn't do anything. I've tried building my own, but apparently I'm just not smart enough.


- blinkseb - 2010-08-09

There won't be a new release until Dharma is released. After, we're going to switch to a nightly build system, so I'll be easier for you to watch changes Smile

EDIT:
liquidskin76 Wrote:OK, did that however now getting...

43>BaseSplitter.obj : error LNK2005: "public: __thiscall CPacketQueue::CPacketQueue(void)" (??0CPacketQueue@@QAE@XZ) already defined in DSOutputpin.obj
43> Creating library XBMC\Release (DirectX)\XBMC.lib and object XBMC\Release (DirectX)\XBMC.exp
43>XBMC\Release (DirectX)\XBMC.exe : fatal error LNK1169: one or more multiply defined symbols found

This is fixed in my last commit!


- liquidskin76 - 2010-08-09

blinkseb Wrote:There won't be a new release until Dharma is released. After, we're going to switch to a nightly build system, so I'll be easier for you to watch changes Smile

EDIT:


This is fixed in my last commit!

Cheers for the fix seb, i'll give it another go.


- liquidskin76 - 2010-08-09

Seb, that worked. Thanks!


- liquidskin76 - 2010-08-10

Hi tiben/seb,

Tested new internal filters however no vids would launch (all h264 re-encoded with RipBot264). The 'now playing' window started however it was black. There was a few errors in the log...

12:32:31 T:164 M:1357475840 NOTICE: CFGLoader::InsertFilter Successfully added "Internal ffmpeg source" to the graph
12:32:32 T:164 M:1355534336 NOTICE: CFGLoader::InsertFilter Successfully added "Internal video decoder" to the graph
12:32:32 T:164 M:1353601024 NOTICE: CFGLoader::InsertFilter Successfully added "ffdshow audio decoder" to the graph
12:32:32 T:164 M:1351258112 NOTICE: CStreamsManager::LoadStreams Audio stream found : English (United States)
12:32:32 T:164 M:1351258112 NOTICE: CStreamsManager::LoadStreams Subtitle stream found : English (United States)
12:32:32 T:164 M:1350918144 ERROR: CChaptersManager::LoadChapters The splitter "Internal ffmpeg source" doesn't support chapters
12:32:32 T:164 M:1350918144 NOTICE: CDSGraph::SetFile No chapters found!
12:32:32 T:1728 M:1347936256 ERROR: CXBMCVideoDecFilter::Transform - avcodec_decode_video returned failure


Cheers


- liquidskin76 - 2010-08-10

Also, when testing external filters, 9 times out 10, the vid plays at a really high frame rate. Seeking causes the vid to hang for a while, then play at a high frame rate. Sometime it's fine.

Also, i saw some tearing (first time ever for me)!

I'm on Win7 by the way, using build 32665.

Cheers again


- zilexa - 2010-08-11

blinkseb Wrote:There won't be a new release until Dharma is released. After, we're going to switch to a nightly build system, so I'll be easier for you to watch changes Smile

EDIT:


This is fixed in my last commit!

HuhHuh??
So the Dharma release will contain an untested version of DSplayer?


- tiben20 - 2010-08-11

zilexa Wrote:HuhHuh??
So the Dharma release will contain an untested version of DSplayer?
i don't really understand what you mean but ill clarify what is going to happen for the build bot.
Blinkseb asked to our teamates if we could have an auto build bot for the dsplayer branch. The answer is simply a yes but only after dharma is released.