[solved] Can't play video in debug (2 Viewers)

mm1352000

Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Did you search the SDK folders for the streams.h file?
    If no, you should.
    If it's not there, I don't know what to suggest. I know what must be done for XP, and the Wiki explains for W7 and W8/8.1, but not W10.
    If it's there, you probably have not created the required environment variables. Note that the EV definitions may need to be modified given that you're using W10. Again, sorry I can't help you with that.
     

    Stéphane Lenclud

    Retired Team Member
  • Premium Supporter
  • April 29, 2013
    2,576
    1,294
    Home Country
    Germany Germany
    I have the missing header in that 7.1 SDK. I have the required environment variables.
    The problem seems to be coming from the fact that the newer Windows 10 SDK, which I'm probably targeting, does not include the samples we are trying to include.
    Thanks for sharing that link. One guy there seems to have found the proper solution:
    Regarding your build advice, I got burned by environment mismatches several times, so I now include the DirectShow base class source files in every DShow project I build. That way, I know the properties all match.

    That would make sense since those are samples apparently.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    We also include the base classes in our repo. They're not samples. The samples are something completely separate. Both the samples and our filters require the base classes in order to compile.
     

    Stéphane Lenclud

    Retired Team Member
  • Premium Supporter
  • April 29, 2013
    2,576
    1,294
    Home Country
    Germany Germany
    We also include the base classes in our repo.
    I see, streams.h is also in our repo. So why do we try to include the version from the SDK?

    They're not samples. The samples are something completely separate. Both the samples and our filters require the base classes in order to compile.
    So why do they live in a subdirectory from "Samples" and why is the full source code provided? Then again I know next to nothing about DirectShow so I'll take your word for it.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    I see, streams.h is also in our repo. So why do we try to include the version from the SDK?
    I've looked at the project config, and I don't think we do. The DShowHelper project config for the debug build says:
    <AdditionalIncludeDirectories>$(SolutionDir)baseclasses;$(WINDOWS_SDK)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

    streams.h should be picked up by $(SolutionDir)baseclasses.
    Did you try to open and build the DShowHelper project by itself?
    If yes, that is your mistake.
    You must open and build the DirectShowFilters solution (DirectShowFilters\Filters.sln), not the individual projects.

    So why do they live in a subdirectory from "Samples"...
    Ask MS.
    (Sometimes MS do confusing things. ;) )

    ...and why is the full source code provided?
    Again, you'd have to ask MS.
    Perhaps it's necessary to be able to build from source in order to target specific platforms or build specific types of binaries (ie. MBCS, non-MBCS).

    With this stuff it's often easier to just follow the instructions or do what everybody else does rather than try to understand. That's what I do. ;)
     

    Stéphane Lenclud

    Retired Team Member
  • Premium Supporter
  • April 29, 2013
    2,576
    1,294
    Home Country
    Germany Germany
    With this stuff it's often easier to just follow the instructions or do what everybody else does rather than try to understand. That's what I do. ;)

    I would love to do that but since my build is not working I have to look into it.

    I've looked at the project config, and I don't think we do. The DShowHelper project config for the debug build says:
    var rm = "read_more ..."; var o = "... Read Less"; var adjustheight = 20; // 20; // streams.h should be picked up by $(SolutionDir)baseclasses.
    Did you try to open and build the DShowHelper project by itself?
    If yes, that is your mistake.
    You must open and build the DirectShowFilters solution (DirectShowFilters\Filters.sln), not the individual projects.

    I was using the DirectShowHelpers solution rather than the Filters solution and the path to baseclasses is wrong there.
    Though it should work with Filters as you are pointing out.
     

    Stéphane Lenclud

    Retired Team Member
  • Premium Supporter
  • April 29, 2013
    2,576
    1,294
    Home Country
    Germany Germany
    So building the Filters solution from VS 2013 gives me the following errors:

    1>------ Build started: Project: LiveMedia555, Configuration: Debug Win32 ------
    2>------ Build started: Project: DSUtil, Configuration: Debug Win32 ------
    2>D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\mpc-hc_subs\src\thirdparty\VirtualDub\system\system.vcxproj(52,5): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\vsyasm.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    3>------ Build started: Project: TsWriter, Configuration: Debug Win32 ------
    1> LiveMedia555.vcxproj -> D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\LiveMedia555\..\shared\LiveMedia555D.lib
    3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1197,5): warning MSB8030: The linker switch "Minimum Required Version" requires "SubSystem" to be set. Without "SubSystem", the "Minimum Required Version" would not be passed to linker and could prevent to the output binary from running on older Operating Systems.
    3> MPTSWriter.vcxproj -> D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\TsWriter\.\bin\Debug\TsWriter.ax
    4>------ Build started: Project: TsReader, Configuration: Debug Win32 ------
    5>------ Build started: Project: mpcSubs, Configuration: Debug Win32 ------
    4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1197,5): warning MSB8030: The linker switch "Minimum Required Version" requires "SubSystem" to be set. Without "SubSystem", the "Minimum Required Version" would not be passed to linker and could prevent to the output binary from running on older Operating Systems.
    4> TsReader.vcxproj -> D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\TsReader\.\bin\Debug\TsReader.ax
    5>D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\mpc-hc_subs\src\thirdparty\VirtualDub\system\system.vcxproj(52,5): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\vsyasm.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    6>------ Build started: Project: MPAudioSwitcher, Configuration: Debug Win32 ------
    6>D:\Dev\GitHub\MediaPortal\MediaPortal-1\DirectShowFilters\mpc-hc_subs\src\thirdparty\VirtualDub\system\system.vcxproj(52,5): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\vsyasm.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    ========== Build: 3 succeeded, 3 failed, 24 up-to-date, 0 skipped ==========
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    I would love to do that but since my build is not working I have to look into it.
    True... but it seems most of the problems you've run into so far could have been avoided if you'd used the build scripts. For example, there would be no confusion about the DShowHelper solution, and so there would also be no confusion about streams.h and SDKs.

    I was using the DirectShowHelpers solution rather than the Filters solution and the path to baseclasses is wrong there.
    Okay. For the record: I do not maintain DShowHelper, but AFAIK the DirectShowHelpers solution is not used.

    So building the Filters solution from VS 2013 gives me the following errors...
    There are only 3 errors there, and they all look approximately the same. All related to YASM. The obvious question would be: have you followed the instructions in the wiki that relate to YASM?
    http://wiki.team-mediaportal.com/1_...ding_MediaPortal_from_source/1_Git_Setup#YASM

    If not, it's no surprise that you're getting the errors.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    I have to go to bed now as it's 00:45 here in NZ. Unfortunately I'm going to be away from home and fully away from keyboard from tomorrow lunch time for approximately 24 hours. If you have further problems/questions, I'll try to reply before I leave. However I still have preparation so I cannot guarantee anything until I get back. Sorry about that. Hopefully other devs will be able to step in if you get stuck again. Good luck! :)
     

    Users who are viewing this thread

    Similar threads

    I noticed there's an updated Visual C++ Runtime (14.50.35710), maybe try to reinstall the runtimes? That's what fixed the issue when I tried 1.38.1
    I noticed there's an updated Visual C++ Runtime (14.50.35710), maybe try to reinstall the runtimes? That's what fixed the issue...
    I just updated from 1.37 to 1.38. MediaPortal 1.38 exits abruptly when stopping video playback. I did three tests; Debug with...
    Replies
    38
    Views
    9K
    I don't think so, because MP has no way of knowing at which timestamp the external player stopped playback. Best way to achieve this would be to use an auto-resume feature in your external player itself. (MPC-HC can do that, I don't know about VLC)
    I don't think so, because MP has no way of knowing at which timestamp the external player stopped playback. Best way to achieve...
    Hello Folks, Is it possible to enable MP to resume in an External Player, where it left off ? I guess the question also is, can...
    Replies
    2
    Views
    1K
    I don't know about MP2 but as you said you tried MP1 too, how is the MP music config ? MP(1) will only use LAV if you select "Internal DirectShow player" as music output, but then you lose gapless playback. If you you don't have multichannel music you can choose WASAPI as the output and set the number of speakers to stereo. I have...
    I don't know about MP2 but as you said you tried MP1 too, how is the MP music config ? MP(1) will only use LAV if you select...
    Not sure if this a a bug/config/settings problem. I am running a media portal 2.5 server with 2.41 client but it seems I get the...
    Replies
    1
    Views
    651
    Are the media/video folders on the Mint host?
    Are the media/video folders on the Mint host?
    I've used Mediaportal for years on a Windows Host with restricted online-access. Lately I reinstalled...
    Replies
    1
    Views
    1K
    Reading through your code, I can see it's more than a couple steps above my paygrade. :cry:
    Reading through your code, I can see it's more than a couple steps above my paygrade. :cry:
    I used to run the TVService under the "NT Service\TVService" account to follow least privileges principal (not exposing my whole...
    Replies
    3
    Views
    2K
    Top Bottom