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 04 Oct 2006 11:47:34 PM UTC  
 
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 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): file #11249

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>
Project 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>
Project 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 File(s):
   
   
Comment:
   

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 07 Jul 2007 11:43:23 AM UTCmartinwguyOpen/ClosedOpen=>Closed
Fri 06 Jul 2007 05:51:24 PM UTCmartinwguyStatusConfirmed=>Fixed
Fri 06 Oct 2006 10:11:16 PM UTCbjacquesAssigned toNone=>bjacques
Thu 05 Oct 2006 08:57:23 AM UTCstrkStatusNone=>Confirmed

Back to the top


Powered by Savane 3.1-cleanup