How-to compile the Tv Server (1 Viewer)

risu

MP Donator
  • Premium Supporter
  • September 22, 2006
    279
    19
    Home Country
    Finland Finland
    I'm trying to set up programming enviroment. I get Mediaportal to build with 22 warnings, I guess this is ok and like it should. TVE3 tvlibrary builds with 903 warnings, is this normal? I guess so.

    But the "problem" is that when I try to build tvplugin I get an error:

    Error 126 'ieframe.dll' should be excluded because its source file 'C:\Windows\system32\ieframe.dll' is under Windows System File Protection. C:\Projects\TVEngine3\TVLibrary\TvPlugin\SetupPlugin\SetupPlugin.vdproj SetupPlugin

    If I exclude that file from project it builds with 125 warnings and seems to work alright. What for is that ieframe.dll used on tvplugin? is there any workarounds for this issue (other than disabling system file protection or excluding file)? That file must be there for a reason? Using Vista 32-bit with latest Directx and Vista platform SDK.
     

    happyfirst

    Portal Member
    July 29, 2007
    25
    0
    Home Country
    United States of America United States of America
    Are there any instructions on how to build this anywhere? I've did C++ for 10yrs and switched to C# a long time ago. Trying to build this thing reminds me of how much I do NOT miss C++ anymore.

    I'm trying to get this to compile so I can try to debug why I can't watch HD. Seems a lot of peope are having this NoVideoAudio thing and there doesn't seem to be much activity in trying to figure it out. I get the 0 size ts file, then the error.

    I finally got streamingserver to compile but I took strmbasd.lib from a VC6 install since it seems the latest platform sdk doesn't include this precompiled anymore and I can't figure out how to build that basesclasses stuff. Also I can't link TSReader or TSWriter. I'm trying to figure out what's dependent on what.

    1> Creating library .\Debug/TsReader.lib and object .\Debug/TsReader.exp
    1>AudioPin.obj : error LNK2019: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z) referenced in function "public: __thiscall CAudioPin::CAudioPin(struct IUnknown *,class CTsReaderFilter *,long *,class CCritSec *)" (??0CAudioPin@@QAE@PAUIUnknown@@PAVCTsReaderFilter@@PAJPAVCCritSec@@@Z)
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>TeletextPin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>AudioPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>TeletextPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>AudioPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>TeletextPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>TsReader.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>VideoPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferSource
    etc
    etc
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800

    risu

    MP Donator
  • Premium Supporter
  • September 22, 2006
    279
    19
    Home Country
    Finland Finland
    I finally got streamingserver to compile but I took strmbasd.lib from a VC6 install since it seems the latest platform sdk doesn't include this precompiled anymore and I can't figure out how to build that basesclasses stuff.

    You'll get strmbase.lib when you compile dshowsamples.sln from platform SDK samples/multimedia. I had to change one linked file to point to dxerr9.lib instead of dxerr8.lib (Under DMO I think). After that you'll get that strmbase under C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\Multimedia\DirectShow\BaseClasses\Release or under that 2003 R2 dir (I used Vista SDK). Or if you're after strmbasd.lib it's under Debug-folder, dshowsamples.sln has to be built with debug settings on that case of course.

    still after I got that one figured, I still can't get tsreader to compile. I'm getting exactly the same linker errors as you:
    1> Creating library .\Debug/TsReader.lib and object .\Debug/TsReader.exp
    1>AudioPin.obj : error LNK2019: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z) referenced in function "public: __thiscall CAudioPin::CAudioPin(struct IUnknown *,class CTsReaderFilter *,long *,class CCritSec *)" (??0CAudioPin@@QAE@PAUIUnknown@@PAVCTsReaderFilter@@PAJPAVCCritSec@@@Z)
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>TeletextPin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol "public: __thiscall CSourceStream::CSourceStream(char *,long *,class CSource *,wchar_t const *)" (??0CSourceStream@@QAE@PADPAJPAVCSource@@PB_W@Z)
    1>AudioPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>TeletextPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol "protected: virtual long __stdcall CSourceStream::QueryId(wchar_t * *)" (?QueryId@CSourceStream@@MAGJPAPA_W@Z)
    1>VideoPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>AudioPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>SubtitlePin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>TeletextPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>TsReader.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferDataCounters
    1>VideoPin.obj : error LNK2001: unresolved external symbol _IID_IStreamBufferSource
    etc
    etc
    so we're both doing about the same thing wrong, have you figured it out already?

    EDIT, well not exactly but some of those are the same. I get 7 errors so far:

    Error 62 error LNK2001: unresolved external symbol "public: virtual long __stdcall CSourceSeeking::GetTimeFormatA(struct _GUID *)" (?GetTimeFormatA@CSourceSeeking@@UAGJPAU_GUID@@@Z) AudioPin.obj
    Error 63 error LNK2001: unresolved external symbol "public: virtual long __stdcall CSourceSeeking::GetTimeFormatA(struct _GUID *)" (?GetTimeFormatA@CSourceSeeking@@UAGJPAU_GUID@@@Z) SubtitlePin.obj
    Error 64 error LNK2001: unresolved external symbol "public: virtual long __stdcall CSourceSeeking::GetTimeFormatA(struct _GUID *)" (?GetTimeFormatA@CSourceSeeking@@UAGJPAU_GUID@@@Z) VideoPin.obj
    Error 65 error LNK2019: unresolved external symbol "protected: __thiscall CSourceSeeking::CSourceSeeking(char const *,struct IUnknown *,long *,class CCritSec *)" (??0CSourceSeeking@@IAE@PBDPAUIUnknown@@PAJPAVCCritSec@@@Z) referenced in function "public: __thiscall CAudioPin::CAudioPin(struct IUnknown *,class CTsReaderFilter *,long *,class CCritSec *)" (??0CAudioPin@@QAE@PAUIUnknown@@PAVCTsReaderFilter@@PAJPAVCCritSec@@@Z) AudioPin.obj
    Error 66 error LNK2001: unresolved external symbol "protected: __thiscall CSourceSeeking::CSourceSeeking(char const *,struct IUnknown *,long *,class CCritSec *)" (??0CSourceSeeking@@IAE@PBDPAUIUnknown@@PAJPAVCCritSec@@@Z) SubtitlePin.obj
    Error 67 error LNK2001: unresolved external symbol "protected: __thiscall CSourceSeeking::CSourceSeeking(char const *,struct IUnknown *,long *,class CCritSec *)" (??0CSourceSeeking@@IAE@PBDPAUIUnknown@@PAJPAVCCritSec@@@Z) VideoPin.obj
    Error 68 fatal error LNK1120: 2 unresolved externals Release/TsReader.ax
     

    happyfirst

    Portal Member
    July 29, 2007
    25
    0
    Home Country
    United States of America United States of America
    No, I haven't figured it out yet. I think those instructions need updating. I was able to build the retail and get strmbas.lib but it won't build the debug version. After I open the debug environment and run the nmake, it runs for a while and then errors out saying it can't find ddraw.h.

    I really don't miss C++ at all.

    I'd really like to try and figure out why MP can scan and find my HD channels but then gives me the novideoaudio error.

    actually I spoke too soon. Retail doesn't build either. Looks like at some point I had uninstalled one directx sdk and installed another but it looks like it didn't work. Uninstalling and installing directx sdk again.
     

    risu

    MP Donator
  • Premium Supporter
  • September 22, 2006
    279
    19
    Home Country
    Finland Finland
    I actually didn't try directx sdk from august, instead used newer one from november. Maybe it has something to do with this..
     

    happyfirst

    Portal Member
    July 29, 2007
    25
    0
    Home Country
    United States of America United States of America
    I was finally able to build a debug TSReader,TSWriter, and StreamingServer. I still can't build TSFileSource but then I can't tell if I need to. Maybe that's left over?

    So frustrating. I copied everything that I could build in debug over into my installed tv server directory. Restarted the server. Found the code in TSWriter that creates the buffer file (CTimeShifting::confused:etTimeShiftingFileName?). Started debugging by attaching to the tvserver service process, but my breakpoints don't fire. They don't show as solid red circles anymore. Just hollow red circles.

    How do I debug TVService? Must it always be started as a service and then I need to attach? What's the purpose of TestApp? I finally copied enough config files and extra dlls to the bin\debug directory to get it to start but then it crashes cause it can't load any channels. Is it suppose to show me the channels already setup?
     

    justinteract

    Member
    November 8, 2007
    95
    13
    Hamburg
    Home Country
    Germany Germany
    Hi happyfirst,

    First of all: I do not miss C++ either ...:)

    I am getting the unreslved external CSourceSeeking::GetTimeFormatA too in the above mentioned TsReader files.
    How did you manage to build the TsReader ?

    justinteractive
     

    justinteract

    Member
    November 8, 2007
    95
    13
    Hamburg
    Home Country
    Germany Germany
    Thanks tourettes,
    got it to link. I read and followed those instructions before already, but I am working with VS2008 and for some reason it did not pick up the correct strmbase.lib even though all paths looked right.
    I did a dumpbin and saw that the missing symbols were indeed in the lib under Release_MBCS...
    anyhow, I reference it now with the full path name and it works... (I really do not miss C++)

    Meanwhile I was getting to the real work that I wanted to do, and that is getting the TsReader to work with ffdshow for h264 content... I am in the middle of rewriting the way the Format is set in CMediaType (which is pretty ugly at the moment usign a hard coded byte array :rolleyes:)

    I started a thread on this https://forum.team-mediaportal.com/...-can-not-play-h-264-ffdshow-37729/#post252362

    I think I really need some help on this, since I am not an DirectShow filter expert. Could you help me, or do you know somebody else in the dev team I could send a PM ?

    justinteractive
     

    Users who are viewing this thread

    Top Bottom