]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Don't use <object> for application/ogg
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 5 Apr 2015 19:35:54 +0000 (21:35 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 5 Apr 2015 19:35:54 +0000 (21:35 +0200)
...this was actually because it would autoplay in Iceweasel/Firefox
despite all parameters for autoplay/autostart being set to false or 0.

lib/attachmentlistitem.php

index 8ab6a82a12680aa367bb723812924f2a7b7a0167..ab156bee92e5b6adbd08f3000bd46502e6aaaace 100644 (file)
@@ -108,6 +108,12 @@ class AttachmentListItem extends Widget
         if (Event::handle('StartShowAttachmentRepresentation', array($this->out, $this->attachment))) {
             if (!empty($this->attachment->mimetype)) {
                 $mediatype = common_get_mime_media($this->attachment->mimetype);
+
+                // FIXME: Get proper mime recognition of Ogg files! If system has 'mediainfo', this should do it:
+                // $ mediainfo --inform='General;%InternetMediaType%'
+                if ($this->attachment->mimetype === 'application/ogg') {
+                    $mediatype = 'video';   // because this element can handle Ogg/Vorbis etc. on its own
+                }
                 switch ($mediatype) {
                 // Anything we understand as an image, if we need special treatment, do it in StartShowAttachmentRepresentation
                 case 'image':
@@ -144,18 +150,6 @@ class AttachmentListItem extends Widget
 
                 default:
                     switch ($this->attachment->mimetype) {
-                    // Ogg media that we're not really sure what it is...
-                    case 'application/ogg':
-                        $arr  = array('type' => $this->attachment->mimetype,
-                            'data' => $this->attachment->getUrl(),
-                            'width' => 320,
-                            'height' => 240
-                        );
-                        $this->out->elementStart('object', $arr);
-                        $this->out->element('param', array('name' => 'src', 'value' => $this->attachment->getUrl()));
-                        $this->out->element('param', array('name' => 'autoStart', 'value' => 1));
-                        $this->out->elementEnd('object');
-                        break;
                     case 'text/html':
                         if (!empty($this->attachment->filename)
                                 && (GNUsocial::isAjax() || common_config('attachments', 'show_html'))) {