bugGnash - The GNU Flash player - Bugs: bug #17913, If viewport is smaller than 200 in...


bug #17913: If viewport is smaller than 200 in one dimension 200, gnash scales to 200

Submitted by:  Marcus Brinkmann <marcus>
Submitted on:  Wed Oct 4 23:47:34 2006  
Category: NoneSeverity: 3 - Normal
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Bastiaan Jacques <bjacques>
Open/Closed: Closed

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

Fri Jul 6 17:51:24 2007, comment #6:

These all seem to come out the right size now with all renderers and all GUIs using CVS head. Please confirm and close

Martin Guy <martinwguy>
Mon Nov 13 09:45:22 2006, comment #5:

Another testcase:
swf file: file #11076
png of incorrect rendering (y is 200, but should be smaller): file #11249

Tue Oct 10 10:43:52 2006, comment #4:

Just a quick note on my last comment: I accidently cut&pasted two debug outputs from two different files. The second is correct.

Marcus Brinkmann <marcus>
Mon Oct 9 15:03:06 2006, comment #3:

I am not sure I understand what you mean with SWF movie size (or even with the use of the word "constraint"). The window can not be made smaller than the movie size. That's OK and intended.

However, if the movie size is smaller than the 200x200 (wherever that comes from), then the movie will be sized 200x200 (or rather, any component that is smaller than 200 is set to 200).

I process the file layerdemo.swf with gparser, and get:

SWF version 4, file length = 5696 bytes
16:50:22: viewport:
16:50:22: x_min: 0, x_max: 4200, width: 4200 twips, 210 pixels
16:50:22: y_min: 0, y_max: 2700, height: 2700 twips, 135 pixels
16:50:22: frame rate = 12.000000, number of frames = 4
SWF version 4, file length = 6330 bytes
17:04:47: viewport:
17:04:47: x_min: 0, x_max: 11000, width: 11000 twips, 550 pixels
17:04:47: y_min: 0, y_max: 2000, height: 2000 twips, 100 pixels
17:04:47: frame rate = 12.000000, number of frames = 120
17:04:47: starting frame 0

This means to me the movie size is 550x120. Is that a correct interpretation? The default size of the gnash Gtk GUI program at startup is 550x200. It can be manually resized to 550x120 minimum.

With current CVS, I hacked gui/gtk.cpp::configure_event to display width and height, and got the following:

17:03:46: WARNING: Resize request received while there's still no movie loaded, can't correctly set movie scale
Process configure_event w=1 h=1
17:03:46: WARNING: Resize request received while there's still no movie loaded, can't correctly set movie scale
Process configure_event w=200 h=200
17:03:46: Base url set to: file:///home/marcus/gnu/gnash/flashkit/001-layers/layerdemo.swf
Process configure_event w=550 h=200

I do not think that the 200x200 comes from the movie itself. Maybe it's the Gtk default window size? It seems to me that Gtk queues some window resize event that is only processed after the movie is loaded and its default size set, scewing things up. Or something like that.

Marcus Brinkmann <marcus>
Mon Oct 9 14:33:33 2006, comment #2:

I tried with another movie, and it seems that the constraint is really SWF movie size, not an hard-coded 200... so it depends on the movie. This is to say that it seems intended behaviour.

Sandro Santilli <strk>
Project Member
Thu Oct 5 08:57:23 2006, comment #1:

I confirm I also experienced this using the -j and -k switches, that explicitly set width and height...

Sandro Santilli <strk>
Project Member
Wed Oct 4 23:47:34 2006, original submission:

Take a look at (for example)

This simple Flash (version 4) file has width 550 and height 100, but gnash CVS 2006-10-05 displays it in 550x200. This is because somehow the window size setting doesn't make it for the component that is smaller than the default of 200x200, it only works if the flash viewport is bigger.

Because not even the aspect ratio is preserved, this looks really odd. But gnash should of course really just honor the viewport information in the flash file.

I couldn't find a file with a width smaller than 200, so I only verified this for the height. Don't know a reason why width should be different though.

Suggested fix: Make it so that the initial window size setting is used even if it is smaller than the default (in one component).

This used to work before, so this must have been introduced in the last couple of weeks.

Marcus Brinkmann <marcus>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.


Please enter the title of George Orwell's famous dystopian book (it's a date):



Follow 4 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sat Jul 7 11:43:23 2007martinwguyOpen/ClosedOpen=>Closed
Fri Jul 6 17:51:24 2007martinwguyStatusConfirmed=>Fixed
Fri Oct 6 22:11:16 2006bjacquesAssigned toNone=>bjacques
Thu Oct 5 08:57:23 2006strkStatusNone=>Confirmed

Back to the top

Powered by Savane 3.1-cleanup1