JPEG RAW images not displaying in Safari on MacOS Sierra or iOS 10 - safari

We've recently had some users of our app report that JPEG images aren't displaying properly since they updated to iOS 10.
We've looked into it and found that some JPEG images do work OK, and some don't. There are no errors logged anywhere.
The ones that don't work in our app also don't work in Safari on iOS 10. Not only that, but they also don't work in Safari on MacOS Sierra.
So we've checked the files themselves out and found that the files that don't work begin ÿØÿÛ, while the others that do work OK begin ÿØÿá.
Googling these signatures led us to this page: https://en.wikipedia.org/wiki/List_of_file_signatures
Here it states that the images that aren't working are JPEG Raw, as opposed to JFIF or Exif format JPEGs.
So the question is: Why does this no longer work, and what's the best solution to work around it? I don't want to have to re-encode the images because of the lossy nature of JPEGs. We also can't get the source of these images to change, unfortunately.
We've considered a solution for our app, but that won't solve the problem in Safari.
There's always the wonder of why have Apple removed support for this format?

Related

TinyMCE 5 - large images pasted via Safari do not render correctly

We are running TinyMCE version 5.4.1 with various options including:
paste_data_images: true
powerpaste_allow_local_image: true
When we drag & drop (or paste) in smaller images (400px X 400px) everything seems to work fine. The Base64 encoding is saved to the database and the image is rendered from all browsers, Chrome, Firefox and Safari.
However, when we paste in a larger image (1920px x 1081px) the image is only saved and rendered correctly in Chrome and Firefox. In Safari the Base64 encoding is saved with all lowercase characters. Therefore it doesn't render when attempting to view it. Has anyone else experienced this?
I have searched here as well as on the TinyMCE website but don't see anything mentioning this behavior. We will eventually attempt to move away from this Base64 implementation as it's no longer recommended but it's what we have for the time being so I'm just trying to address this issue.
When the page loads, its' elements can do so in parallel. But when the browser sees the base64 image, it blocks the page from loading until this image is rendered. Thus, inserting large images into the page as base64 is certainly not a good practice - it may slow down page loads and worsen the UX.
To fix this problem and maybe several other issues, utilizing the automatic_uploads option is highly recommended. It will upload pasted images on the server instead of converting them to base64. Here is the example of the PHP upload handler that will upload images and give their URLs back to TinyMCE.
Concerning the issue with Safari, some minimal reproducible example would be very useful.
I should also mention that PowerPaste is a premium feature that will not work with TinyMCE opensource. If you are using the paid version of TinyMCE, you can create a support ticket.

Why is video playing in Firefox but not in Chrome or Safari?

I have a video thumbnail on the top right of this screen that, when clicked, plays fine in Firefox. However, in Chrome and Safari the video will not play. The loading image spins forever and will not continue to the video.
Any advice is much appreciated. I have tried upgrading VideoJS from v2.0.2 to v4.1.0 and that still did not solve the problem.
Here is the link: http://www.therefinerycreative.com/#!/theatrical
I believe it is the actual source movie files that are the problem. The mp4 file is 15mb which is quite big for a 1 minute movie. I can see the dimension size of the movie is fine. Try decreasing the size of the file down first. Or to save you time first, try putting in the standard video from videojs just to double check that it definitely is the source file(s). http://vjs.zencdn.net/v/oceans.mp4
I also noticed that you use an ogg file too. In most cases you can get away with just using an mp4 file. Try both of these solutions and let me know how you get on.

Red5 cannot display video in Adobe AIR

I have an Adobe AIR application that I am using to stream some video using RED5. The AIR application has the following Flex code:
<s:VideoDisplay id="vidBox" autoPlay="true" autoRewind="true" x="6" y="11" width="95%" height="90%" scaleMode="zoom">
<s:source>
<s:DynamicStreamingVideoSource host="rtmp://localhost/TestMovie" streamType="recorded">
<s:DynamicStreamingVideoItem streamName="2hourmovie.flv" />
</s:DynamicStreamingVideoSource>
</s:source>
</s:VideoDisplay>
When I run the Air Application, I am seeing a rather pretty set of flickering and changing colors instead of the movie. The sound, amazingly, comes through very well.
I use the exact same code in a web- based application, and the movie plays without problems. I see picture and sound and all is well.
I suspect that there is something wrong with AIR that is screwing up the picture, or perhaps I am interacting with AIR in a less- than- correct manner? Or I have found a bug in either AIR or RED5?
Someone please advise. I am using Red5 v1.0.1, Adobe AIR v3.7, and am developing in Flex Builder 4.6.
UPDATE:
More information about this problem: It appears to occur only with very large FLV files. I included some 1- hour movies in my streams directory and ran the AIR application, and the movies displayed without problems. Other files of longer length have the same display failure. Note that the failure does not occur in the web browsers, regardless of FLV file size.
Apparently, AIR has some limitation that prevents it from properly displaying FLVs beyond a certain length. Either that, or an AIR application must handle longer FLVs differently from shorter ones. I am uncertain and cannot find any documentation on this matter.
I am working to narrow down how large a file is required to make an AIR video object fail.
Have I found a bug in Adobe AIR? Or is there some coding or configuration I need to adjust in order to make a viewer work properly with larger FLV files?
Someone please advise...

Webp very low quality when converting transparent PNG image files

I want to use Webp and get my images much small, at last for serving them to chrome browsers. I've download many types of conversion tools, including the official one. I tried to convert PNG with Alpha transparency and get awful results. See image below..
According to what I see on many websites, it shold handle transparency incredibly well. I wanted to know if you know why I get these kind of results and what I need to do or what tool I need to produce high quality webp transparent images that will replace my png ones.
Second, I wanted to know the comparability. Should I server those images only for chrome uses? - OF course the most important issue is the image quality outpu.
Thanks
You are probably using an older version of WebP library/binary, which didn't have alpha support. So the images you see have alpha channel stripped.
Try again with the latest release v0.2.0:
http://code.google.com/p/webp/downloads/list

Objective-C iPhone - YouTubePlugIn.webplugin/YouTubePlugIn warning

I'm trying to play a YouTube video within an iPhone app using the technique in this URL
http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application
The technique works fine and the video plays fine, except that I'm getting this warning.
warning: Unable to read symbols for "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.2 (7D11)/Symbols/System/Library/Internet Plug-Ins/YouTubePlugIn.webplugin/YouTubePlugIn" (file not found).
That does slow down the app for the first time I got the warning. Seems like a lot of people is getting the same warning, but none of the forums I read seems to have the solution to get rid of the warning.
Do I need to download something or do specific things?
I also tried adding the YouTube framework from "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/System/Library/PrivateFrameworks/YouTube.framework"
Doesn't seem to solve the issue.
Please enlight.
Some clips might not play in mobile devices. Check if you clips does.
The "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/usr/lib/dyld' has changed; re-reading symbols" warnings can be ignored (the clips should play anyway if it is available on mobile devices).
Note. I don't know the correct reason why some clips don't play on mobile, it might be a transcoding issue (not being transcoded for mobile) or some publisher settings.
Would be interesting to know.
You need to run your app on the device. The Simulator doesn't have the YouTube app.