classification
Title: mimetypes does not support webm type
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.6, Python 3.5, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Jim.Jewett, berker.peksag, cvrebert, ezio.melotti, giampaolo.rodola, jcea, python-dev, r.david.murray, terry.reedy
Priority: normal Keywords: patch

Created on 2012-10-26 13:34 by giampaolo.rodola, last changed 2016-04-09 05:19 by berker.peksag. This issue is now closed.

Files
File name Uploaded Description Edit
webm.diff giampaolo.rodola, 2012-10-26 13:34 review
Messages (17)
msg173843 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2012-10-26 13:34
http://www.webmproject.org/docs/container/#naming
msg173844 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2012-10-26 13:35
(patch in attachment)
msg173845 - (view) Author: Jesús Cea Avión (jcea) * (Python committer) Date: 2012-10-26 13:44
How do we know if the "webm" file is video+audio or audio only?. Mimetypes are different. :-?
msg173846 - (view) Author: Giampaolo Rodola' (giampaolo.rodola) * (Python committer) Date: 2012-10-26 13:51
I'd say we can't but I suppose the same problem might exist for other mime types as well.
Given that we can't inspect file content the only choice we have is either decide to not support a certain mime type or assume the most common scenario, which in case of webm is "video".
msg173847 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2012-10-26 14:11
I suppose this is a flaw in the mimetype API.  At some point perhaps we should fix it, but in the meantime....does anyone have a pointer to an actual IANA submission for this mime type?  I think we can probably no longer wait for official IANA approval, but it would be nice to have some sort of documentation that a given type is more than just in de-facto existence.
msg173997 - (view) Author: Chris Rebert (cvrebert) * Date: 2012-10-28 06:10
AFAICT, there is currently no entry for WebM in IANA's registry (http://www.iana.org/assignments/media-types/index.html ).
A bug in WebM's tracker regarding its MIME type(s) was closed over a year ago as WONTFIX (http://code.google.com/p/webm/issues/detail?id=15 ).

Giampaolo has already pointed out the relevant part of the WebM spec. WebM itself has no RFCs (there are 2 relating to VP8, its video codec, but they don't have anything that's relevant here).


To independently corroborate the existence of the MIME type, we have the following:

Mozilla, Microsoft, and Opera all acknowledge the MIME type in question:
https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements
http://msdn.microsoft.com/en-us/library/ff975073%28v=VS.85%29.aspx
http://dev.opera.com/articles/view/opera-supports-webm-video/

The de-facto *nix MIME type database/package maintained by freedesktop.org includes it:
http://cgit.freedesktop.org/xdg/shared-mime-info/tree/NEWS?id=391ae76f6a2f3af93406ac31bc8735695f41d07d#n92
msg174055 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2012-10-28 16:14
Interesting.  So we have two choices: leave it to the platform mime types file to define because it is not even on track to be an official IANA standard, or include it with a comment that it is a de-facto standard.

The question, I guess, is how fluid the definition is likely to be.  It doesn't seem like the filetype mapping for the existing definitions is going to change, and since we don't (currently) have content-detection of any sort, the impact of a change in the definitions to users of our code seems minimal.  So I guess I'd be OK with adding it as a de-facto standard, though I'm not entirely comfortable with it.  But that would represent a change in policy, so others may want to weigh in.
msg213990 - (view) Author: Chris Rebert (cvrebert) * Date: 2014-03-18 17:03
So, nobody seems to have cared enough about the policy change to weigh in during the intervening year and ~3mos...
msg232088 - (view) Author: Jim Jewett (Jim.Jewett) (Python triager) Date: 2014-12-03 19:45
I interpreted Issue 15's closure as being about the distinction between Application/webm vs Video/webm, etc.

As far as I understand it, the python stdlib doesn't actually care what the major Mime type is, or, frankly, even whether the definition makes sense.  We just want Video/webm to be registered.

I have created issue 886 on the webm site at
https://code.google.com/p/webm/issues/detail?id=886&can=4&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary

Anyone with more detail (e.g., do we need to define Application/webm as well as Video/webm ... do we care what the definition is ... etc ...) is encouraged to chime in.
msg232090 - (view) Author: Chris Rebert (cvrebert) * Date: 2014-12-03 19:59
WebM's docs use "video/webm" and never use an "application/*" type.
See http://www.webmproject.org/docs/container/

They also specify "audio/webm" for audio-only content, but both use the same file extension, so associating ".webm" with "video/webm" seems quite reasonable since it's more general (an audio-only file is just a degenerate case of an audiovideo file).
msg232095 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-12-03 23:10
Antoine Pitrou and Ethan Furman agreed on pydev that this should be applied.  Chris, is the existing patch exactly what you think is needed?
msg232096 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-12-03 23:12
Does test_mimetypes (assuming it exists), have a test for the mapping, are is something needed?
msg232097 - (view) Author: Chris Rebert (cvrebert) * Date: 2014-12-03 23:19
Yes, the existing patch looks fine.
msg232098 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2014-12-03 23:36
A while ago there was a discussion about updating the MIME registry on bug fix releases too, and I seem to remember people agreed it should be done.  If this is indeed the case and the patch is accepted for 3.5, should it also be backported to 2.7 and 3.4?
msg263064 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-04-09 05:00
New changeset 0327a5a11108 by Berker Peksag in branch '3.5':
Issue #16329: Add .webm to mimetypes.types_map
https://hg.python.org/cpython/rev/0327a5a11108

New changeset f92e6785b9f0 by Berker Peksag in branch 'default':
Issue #16329: Add .webm to mimetypes.types_map
https://hg.python.org/cpython/rev/f92e6785b9f0
msg263065 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-04-09 05:06
New changeset 6ed3cb699be6 by Berker Peksag in branch '2.7':
Issue #16329: Add .webm to mimetypes.types_map
https://hg.python.org/cpython/rev/6ed3cb699be6
msg263068 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2016-04-09 05:19
Thanks!
History
Date User Action Args
2016-04-09 05:19:25berker.peksagsetstatus: open -> closed

versions: + Python 2.7, Python 3.6
nosy: + berker.peksag

messages: + msg263068
resolution: fixed
stage: patch review -> resolved
2016-04-09 05:06:20python-devsetmessages: + msg263065
2016-04-09 05:00:21python-devsetnosy: + python-dev
messages: + msg263064
2014-12-03 23:36:28ezio.melottisetnosy: + ezio.melotti
messages: + msg232098
2014-12-03 23:19:44cvrebertsetmessages: + msg232097
2014-12-03 23:12:05terry.reedysetmessages: + msg232096
stage: commit review -> patch review
2014-12-03 23:10:25terry.reedysetversions: + Python 3.5, - Python 3.4
nosy: + terry.reedy

messages: + msg232095

type: enhancement
stage: commit review
2014-12-03 19:59:12cvrebertsetmessages: + msg232090
2014-12-03 19:45:40Jim.Jewettsetnosy: + Jim.Jewett
messages: + msg232088
2014-03-18 17:29:49serhiy.storchakalinkissue11362 superseder
2014-03-18 17:03:42cvrebertsetmessages: + msg213990
2012-10-28 16:14:16r.david.murraysetmessages: + msg174055
2012-10-28 06:10:28cvrebertsetnosy: + cvrebert
messages: + msg173997
2012-10-26 14:11:09r.david.murraysetnosy: + r.david.murray
messages: + msg173847
2012-10-26 13:51:04giampaolo.rodolasetmessages: + msg173846
2012-10-26 13:44:07jceasetnosy: + jcea
messages: + msg173845
2012-10-26 13:35:15giampaolo.rodolasetmessages: + msg173844
2012-10-26 13:34:58giampaolo.rodolacreate