Jump to content
Tuts 4 You

MediaPlayer


fearless

Recommended Posts

Posted

Could you show the full call stack in case of exc?

  • Like 2
Posted

Hey guys,

so you mean the exception is made on purpose? That would be bad and Windows Event log does log it each time too I think. Why don't you get that? Or is it any display driver issue or something? No clue, just want to prevent that exception. OK, I have attached all info's when I stop at exception in Olly like you can see in my video. Maybe it can help you to find anything I don't see yet. I was using MediaPlayer.exe 1.0.0.3 from @fearless. I also see that this exception not happens when playing just a audio file.

Exception.zip

greetz

  • Like 1
Posted (edited)

so for the moment, as far as I see:

evr.dll for some reason (not yet known) is throwing the C++ exception (  <JMP.&msvcrt._CxxThrowException> )

and there is nobody that does the catch of it!

this is super strange taking into account how deep is call stack

ohhhhhhh

MS was so kindd that provided debug symbols for evr.dll! can you belive it?

so I've tracked down the culprit location:

 

this is internal routine inside evr.dll:

char __thiscall VideoOTAContainer::UpdateOTA(HANDLE *this)

{

  v24 = this;
  VideoOTAContainer::CObjectLock::CObjectLock(&v29, this);
  v2 = this[30] == HANDLE_FLAG_INHERIT;
  v37 = 1;
  if ( !v2 )
  {
    bad_hresult::bad_hresult(pExceptionObject, 0x8000FFFF, "E_UNEXPECTED");
    _CxxThrowException(pExceptionObject, &_TI2_AVbad_hresult__);
  }
  VideoOTAContainer::CBGuard(this);
  ...........
    
}

 

and the exception is inside the if (!v2) flag

image.png.8e2ea57a9a69adc1ba61dc2cd8d9ca6c.png

.... hmm

what that hell is that guys :)

and the call stack is the hell big:

 

image.png.0541b8bf9dd704b9f15293e08ae34b1e.png

maybe @fearless  will recognize some of the APIs in that big stack and will how some clues why video (not audio) makes this very strange exception ...

and more stack (continuation from above pic)

 

image.png.8b70a67997080545df6e3efb9bde644e.png

Edited by jackyjask
  • Like 2
Posted

Another idea that might (or might not) work - see how other SW is using MFP

for example - WebKit package

its super huge but it has some nice piece of SW that is calling MFP

the thing is that it s veeeeeeeeeery huge, literally gigabytes of sourses :)

 

  • Like 1
Posted

the MFPlay underneath uses the Media Foundation api, which uses two engines, one for video and one for audio.

  • Like 1
Posted

v1.0.0.4

https://github.com/mrfearless/MediaPlayer/releases/tag/1.0.0.4

  • Added /close command line option to close MediaPlayer once play ends (request from vitsoft on masm32 forum).
  • Also added /minimized, /fullscreen and /volume:xx command line options.
  • Add Ukrainian language menu resource (thanks to greenozon).
  • Add Ukrainian language tooltips (thanks to greenozon).
  • Add Persian language menu resources (thanks to Yashar Mahmoudnia).
  • Add Persian language tooltips (thanks to Yashar Mahmoudnia).
  • Add Right To Left Layout for Persian language selection (thanks to Yashar Mahmoudnia for testing).
  • Changed play rate from slower/faster menu and buttons to a playback speed submenu and a button with a dropdown menu.
  • Added audio stream switching via a submenu and a dropdown menu (from volume mute toggle button) (request from makson5 on github).
  • Playback speed and audio stream menus are dynamically created when a media item is loaded. Otherwise menu will show a menu item showing "Unavailable".
  • i button tooltip displays filename as well now.
  • Holding CTRL whilst clicking on Help->About or i button will open folder containing MediaPlayer's ini file.
  • Fixed menu items width on menus still showing very long widths after clearing MRU list.
  • String resources are now compressed with rtlc in a block and are loaded and decompressed per language selection on first access.
  • Removed some string resources, icons and bitmaps that are now redundant.

 

MediaPlayer-x64.zip MediaPlayer-x86.zip

  • Like 5
  • Thanks 3
Posted

v1.0.0.5

https://github.com/mrfearless/MediaPlayer/releases/tag/1.0.0.5

  • Moved Spacebar play/pause toggle to accelerator table instead of WM_KEYDOWN.
  • Set focus on media player video window on enter fullscreen to allow Escape key to exit fullscreen.
  • Hide controls and cursor after 3 seconds in fullscreen mode, show controls and cursor on WM_MOUSEMOVE or exit of fullscreen.
  • Controls do not hide if fullscreen and an audio track is loaded.

MediaPlayer-x64.zip MediaPlayer-x86.zip

  • Like 2
  • Thanks 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...