cplussharp / graph-studio-next

GraphStudioNext is a tool for developers to build and test DirectShow Graphs
355 stars 94 forks source link

Video playback options (e.g. full screen) #211

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'd like to have this feature in the programm:

For video renderers supporting IVideoWindow or related interfaces, offer extra 
context menu item "Video options" giving menu items for enabling full screen 
mode etc (features to be added according to what's useful during testing)

The feature is important for me because:

More accurate playback control.

The feature is important for other users because:

Useful to see video in full screen as well as windowed.

Original issue reported on code.google.com by mike.cop...@gmail.com on 16 Jan 2014 at 1:10

GoogleCodeExporter commented 9 years ago
Updated by r360 : Play/Full Screen menu option. If selected playback switches 
to full screen on start of playback and back to non-full screen at end of 
playback
Alt-tabbing away will end full screen mode.
Uses IVideoWindow full screen property which doesn't work for the EVR video 
renderer - this requires a different property

Original comment by mike.cop...@gmail.com on 14 May 2014 at 9:54

GoogleCodeExporter commented 9 years ago
Updated by r363 : Support full screen playback in EVR video renderer
NB : it's not possible to Alt-Tab away from full screen EVR playback at present
- need to forward keystrokes to parent to allow cancelling full screen playback

Original comment by mike.cop...@gmail.com on 15 May 2014 at 2:06

GoogleCodeExporter commented 9 years ago

Original comment by mike.cop...@gmail.com on 15 May 2014 at 2:11

GoogleCodeExporter commented 9 years ago
Full screen also seems to work OK in Haali Video Renderer. Haven't tried any 
other non-Microsoft video renderers.

Original comment by mike.cop...@gmail.com on 15 May 2014 at 2:13

GoogleCodeExporter commented 9 years ago
Updated by r364 : Process main window keyboard shortcuts in EVR video renderer 
window in normal or fullscreen mode
Allows stopping full screen playback, playback control, switching windows etc. 
One annoying issue : when starting full screen playback something seems to be 
stealing focus - before using keyboard shortcuts you have to click on the full 
screen video.

Original comment by mike.cop...@gmail.com on 15 May 2014 at 4:59

GoogleCodeExporter commented 9 years ago
Forwarding key strokes from VRM renderer requires adding window to wrap VRM 
similar to EVR_VideoWindow for EVR.

Using put_messagedrain also forwards mouse clicks from VMR or VMR7 which 
prevents resizing the default VMR window. The only obvious way to fix this is 
using put_Owner with a parent frame and forward all messages here and forward 
keystrokes back the frame window.

Original comment by mike.cop...@gmail.com on 15 May 2014 at 11:58

GoogleCodeExporter commented 9 years ago
I'm experiment with using the EVR_VideoWindow class to handle wrapping VMR 
also. Basics working but still needs some refinement. May be difficult to get 
the same code working for all of VMR/VRM7/VMR9/Haali etc.

Perhaps this justifies having an option "Wrap video windows". If off, VMR and 
EVR are used without extra code and the renderer filter does default window and 
drawing handling.

The only benefit of using wrapper classes is to allowing keyboard shortcut 
forwarding  and perhaps access to more sophisticated custom drawing behaviour 
in future.

Original comment by mike.cop...@gmail.com on 18 May 2014 at 7:46

GoogleCodeExporter commented 9 years ago
I'm shelving my work on extending EVR_VideoWindow to handle VMR video renderers 
(and possibly Haali video renderer). Would probably work but will require 
tweaking to make it work in the same way on all of VMR/VMR7/VMR9.

I've attached a patch file of my experimental changes. Requires more work to be 
usable though.

Original comment by mike.cop...@gmail.com on 5 Jun 2014 at 12:18

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by mike.cop...@gmail.com on 6 Jun 2014 at 2:07