[Ffmpeg-devel] [PATCH] Auto-resize ffplay video

Michael Niedermayer michaelni
Sat Dec 30 01:21:48 CET 2006


Hi

On Fri, Dec 29, 2006 at 05:07:14PM -0600, Steven Sheehy wrote:
> Michael Niedermayer wrote:
> >Hi
> >
> >On Tue, Dec 26, 2006 at 03:12:38PM -0600, Steven Sheehy wrote:
> >>On Sat, Dec 23, 2006 at 15:20:36 CET 2006, Michael Niedermayer wrote:
> >>>seperate issue seperate patch please
> >>I could've characterized this patch more generically by saying it 
> >>resolves the improper resizing of the video window, if you prefer. In 
> >>addition, if I were to make them separate they would still depend on each 
> >>other since the patch to auto-resize the output modifies text before the 
> >>exiting from full screen bug. Nevertheless, here's the patch for just 
> >>this issue:
> >>
> >
> >[mangled unuseable patch]
> >
> >>>screen_width / screen_height should either be set to the dimensions of
> >>>the video or should be at 0 by default and then be overridden by
> >>>the video w/h if they are 0 where used
> >>I've tried this, but I've found that if you pass a width and height of 0 
> >>to the initial SDL_SetVideoMode(), it causes the video window to be 
> >>maximized and future SDL_SetVideoMode()'s to be ignored (SDL bug?). 
> >>screen_width / screen_height cannot be set to the video dimensions at 
> >>declaration time or in main() since they can only be determined at a much 
> >>later point in the program when alloc_picture() is called. If have any 
> >>suggestions to overcome these issues, I'd be grateful.
> >
> >what about calling SDL_SetVideoMode() after av_find_stream_info() ?
> >
> 
> I followed your advice and basically moved the initial call to 
> SDL_SetVideoMode() from main() to decode_thread() after 
> av_find_stream_info(). This works perfectly for me, but I'm not sure if 
> this is how you want it. Let me know if I need to tweak it more.

hmm, maybe putting the code into stream_component_open() would be better
sample_rate for audio is also set there, so w/h seems to fit pretty well
also stream_cycle_channel() calls stream_component_open() and if the
w/h changes should update the window size

of course the code could also be put into its own function which would
then be called by stream_component_open() ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No evil is honorable: but death is honorable; therefore death is not evil.
-- Citium Zeno
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20061230/f5bd1120/attachment.pgp>



More information about the ffmpeg-devel mailing list