Ticket #205 (new enhancement)
|Reported by:||andre||Owned by:|
|Priority:||minor||Milestone:||Rich Media - Oneshoe|
|MoSCoW:||Estimated time after impact analysis:|
|Related to project:||none||Tested:|
Description (last modified by andre) (diff)
The problem of still resizing occurs on 2 fronts: creating/uploading and getting stills.
The current system allows you to either create stills or upload them.
Parameters: upload_ticket, mediafile_id, redirect_uri, file, order, default
When uploading the still using this callback, the still is always the original file size.
Parameters: mediafile id, user_id, frametime, width, height
(however frametime, width, height arent used anymore)
Parameters that aren't on the API yet but are working:
still_type, still_per_mediafile, still_every_second, start_frame, end_frame, size
When creating the stills using this callback you can enter the size. Which means the still is created in the size you prefered.
This allows you to marginal manipulate the outcome of stills.
It is strange that 1 callback allows this while the other doesn't.
Parameters: asset_id, user id, size, format, range
When getting stills using this callback, you get to enter the size, format and range. However you can't just enter the size you would like, since you have to enter the size of the files that are available. If you uploaded a still with the size 1024x768, you can only enter size 1024x768, anything else will result in no results.
Same goes for format based on the file type.
It is strange you can enter this values since it suggests you have the option to pick, however this isnt the case unless other options aren created.
After some consideration I came up with a single sollution to fix all these problems.
Uploading stills: Do nothing, keep as it is.
Creating stills: Remove the option to allow custom sizes of stills.
Always create stills the maximum possible size to allow to reserve of quality.
Getting stills: Use size to get the given size of the stills.
If the still is not available in the given size, let Mediamosa rescale the still and cache it. If the still is available then just return it. Use caching to store stills temporary and clean them up periodically.