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

Submitter:  Marcus Brinkmann <marcus>
Submitted:  Wed 04 Oct 2006 11:47:34 PM UTC
   
 
Category:  None Severity:  3 - Normal
Release:  None Status:  Fixed
Privacy:  Public Assigned to:  bjacques
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 06 Jul 2007 05:51:24 PM UTC, 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 13 Nov 2006 09:45:22 AM UTC, comment #5: 

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

Anonymous
Tue 10 Oct 2006 10:43:52 AM UTC, 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 09 Oct 2006 03:03:06 PM UTC, 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:

16:50:22:
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
16:50:22:17:04:47:
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:
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 09 Oct 2006 02:33:33 PM UTC, 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>
Group Member
Thu 05 Oct 2006 08:57:23 AM UTC, comment #1: 

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

Sandro Santilli <strk>
Group Member
Wed 04 Oct 2006 11:47:34 PM UTC, original submission:  

Take a look at (for example)
http://images2.flashkit.com/tutorials/Getting_Started/Using_La-Eddie_Ca-10/layerdemo.swf

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 Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 4 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2007-07-07 martinwguy Open/ClosedOpen Closed
2007-07-06 martinwguy StatusConfirmed Fixed
2006-10-06 bjacques Assigned toNone bjacques
2006-10-05 strk StatusNone Confirmed

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code