Changeset 56349 in webkit
- Timestamp:
- Mar 22, 2010 11:40:58 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r56348 r56349 1 2010-03-22 Jakub Wieczorek <faw217@gmail.com> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] Phonon media backend: expose supported MIME types to WebCore 6 7 https://bugs.webkit.org/show_bug.cgi?id=33453 8 9 List all skipped media tests individually and unskip two fixed by the patch. 10 11 * platform/qt/Skipped: 12 1 13 2010-03-22 Geoffrey Garen <ggaren@apple.com> 2 14 -
trunk/LayoutTests/platform/qt/Skipped
r56328 r56349 98 98 # ------- missing features 99 99 accessibility 100 media101 100 webarchive 102 101 svg/webarchive … … 139 138 # ------- crashes 140 139 fast/text/find-hidden-text.html 140 141 # failing media tests 142 media/adopt-node-crash.html 143 media/audio-constructor.html 144 media/audio-constructor-preload.html 145 media/audio-constructor-src.html 146 media/audio-controls-rendering.html 147 media/audio-data-url.html 148 media/audio-delete-while-slider-thumb-clicked.html 149 media/audio-delete-while-step-button-clicked.html 150 media/audio-mpeg-supported.html 151 media/audio-no-installed-engines.html 152 media/audio-play-event.html 153 media/before-load-member-access.html 154 media/broken-video.html 155 media/constructors.html 156 media/controls-after-reload.html 157 media/controls-css-overload.html 158 media/controls-drag-timebar.html 159 media/controls-right-click-on-timebar.html 160 media/controls-strict.html 161 media/controls-styling.html 162 media/event-attributes.html 163 media/fallback.html 164 media/media-captions.html 165 media/media-constants.html 166 media/media-fullscreen-inline.html 167 media/media-fullscreen-not-in-document.html 168 media/media-load-event.html 169 media/media-startTime.html 170 media/remove-from-document.html 171 media/remove-from-document-no-load.html 172 media/restore-from-page-cache.html 173 media/unsupported-rtsp.html 174 media/unsupported-tracks.html 175 media/video-append-source.html 176 media/video-aspect-ratio.html 177 media/video-autoplay.html 178 media/video-buffered.html 179 media/video-canvas.html-disabled 180 media/video-canvas-source.html 181 media/video-click-dblckick-standalone.html 182 media/video-controls.html 183 media/video-controls-rendering.html 184 media/video-controls-transformed.html 185 media/video-controls-visible-audio-only.html 186 media/video-controls-with-mutation-event-handler.html 187 media/video-controls-zoomed.html 188 media/video-currentTime.html 189 media/video-currentTime-set2.html 190 media/video-currentTime-set.html 191 media/video-display-aspect-ratio.html 192 media/video-display-none-crash.html 193 media/video-display-toggle.html 194 media/video-document-types.html 195 media/video-dom-autoplay.html 196 media/video-dom-preload.html 197 media/video-dom-src.html 198 media/video-empty-source.html 199 media/video-error-does-not-exist.html 200 media/video-layer-crash.html 201 media/video-load-networkState.html 202 media/video-load-readyState.html 203 media/video-loop.html 204 media/video-muted.html 205 media/video-no-audio.html 206 media/video-no-autoplay.html 207 media/video-pause-empty-events.html 208 media/video-pause-immediately.html 209 media/video-played-collapse.html 210 media/video-played-ranges-1.html 211 media/video-played-reset.html 212 media/video-play-empty-events.html 213 media/video-play-pause-events.html 214 media/video-play-pause-exception.html 215 media/video-poster.html 216 media/video-poster-scale.html 217 media/video-preload.html 218 media/video-replaces-poster.html 219 media/video-reverse-play-duration.html 220 media/video-seekable.html 221 media/video-seeking.html 222 media/video-seek-no-src-exception.html 223 media/video-seek-past-end-paused.html 224 media/video-seek-past-end-playing.html 225 media/video-size.html 226 media/video-size-intrinsic-scale.html 227 media/video-source-add-src.html 228 media/video-source-error.html 229 media/video-source-error-no-candidate.html 230 media/video-source.html 231 media/video-source-media.html 232 media/video-source-none-supported.html 233 media/video-source-type.html 234 media/video-source-type-params.html 235 media/video-src-change.html 236 media/video-src-empty.html 237 media/video-src.html 238 media/video-src-invalid-remove.html 239 media/video-src-none.html 240 media/video-src-plus-source.html 241 media/video-src-remove.html 242 media/video-src-set.html 243 media/video-src-source.html 244 media/video-timeupdate-during-playback.html 245 media/video-timeupdate-reverse-play.html 246 media/video-transformed.html 247 media/video-volume.html 248 media/video-volume-slider.html 249 media/video-width-height.html 250 media/video-zoom-controls.html 251 media/video-zoom.html 141 252 142 253 # ========================================================================= # … … 4965 5076 http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html 4966 5077 4967 # This test requires ogg codecs4968 media/media-can-play-ogg.html4969 4970 5078 # Bunch of tests failing since a while on the Qt slave. Please investigate. 4971 5079 css1/classification/white_space.html -
trunk/WebCore/ChangeLog
r56347 r56349 1 2010-03-22 Jakub Wieczorek <faw217@gmail.com> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] Phonon media backend: expose supported MIME types to WebCore 6 7 https://bugs.webkit.org/show_bug.cgi?id=33453 8 9 MediaPlayerPrivate should expose the MIME types that are supported 10 by the underlying backend in Phonon. 11 12 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 13 (WebCore::MediaPlayerPrivate::supportedTypesCache): 14 (WebCore::MediaPlayerPrivate::getSupportedTypes): 15 (WebCore::MediaPlayerPrivate::supportsType): 16 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 17 1 18 2010-03-22 Alexander Pavlov <apavlov@chromium.org> 2 19 -
trunk/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
r53670 r56349 27 27 #include "FrameView.h" 28 28 #include "GraphicsContext.h" 29 #include "MIMETypeRegistry.h" 29 30 #include "NotImplemented.h" 30 31 #include "TimeRanges.h" … … 33 34 34 35 #include <QDebug> 36 #include <QEvent> 37 #include <QMetaEnum> 35 38 #include <QPainter> 36 39 #include <QWidget> 37 #include <QMetaEnum>38 40 #include <QUrl> 39 #include <QEvent> 40 41 42 #include <phonon/audiooutput.h> 43 #include <phonon/backendcapabilities.h> 41 44 #include <phonon/path.h> 42 #include <phonon/audiooutput.h>43 45 #include <phonon/mediaobject.h> 44 46 #include <phonon/videowidget.h> … … 144 146 } 145 147 146 void MediaPlayerPrivate::getSupportedTypes(HashSet<String>&) 147 { 148 notImplemented(); 149 } 150 151 MediaPlayer::SupportsType MediaPlayerPrivate::supportsType(const String&, const String&) 152 { 153 // FIXME: do the real thing 154 notImplemented(); 148 HashSet<String>& MediaPlayerPrivate::supportedTypesCache() 149 { 150 static HashSet<String> supportedTypes; 151 if (!supportedTypes.isEmpty()) 152 return supportedTypes; 153 154 // FIXME: we should rebuild the MIME type cache every time the backend is changed, 155 // however, this would have no effect on MIMETypeRegistry anyway, because it 156 // pulls this data only once. 157 158 QStringList types = Phonon::BackendCapabilities::availableMimeTypes(); 159 foreach (const QString& type, types) { 160 QString first = type.split(QLatin1Char('/')).at(0); 161 162 // We're only interested in types which are not supported by WebCore itself. 163 if (first != QLatin1String("video") 164 && first != QLatin1String("audio") 165 && first != QLatin1String("application")) 166 continue; 167 if (MIMETypeRegistry::isSupportedNonImageMIMEType(type)) 168 continue; 169 170 supportedTypes.add(String(type)); 171 } 172 173 // These formats are supported by GStreamer, but not correctly advertised. 174 if (supportedTypes.contains(String("video/x-h264")) 175 || supportedTypes.contains(String("audio/x-m4a"))) { 176 supportedTypes.add(String("video/mp4")); 177 supportedTypes.add(String("audio/aac")); 178 } 179 180 if (supportedTypes.contains(String("video/x-theora"))) 181 supportedTypes.add(String("video/ogg")); 182 183 if (supportedTypes.contains(String("audio/x-vorbis"))) 184 supportedTypes.add(String("audio/ogg")); 185 186 if (supportedTypes.contains(String("audio/x-wav"))) 187 supportedTypes.add(String("audio/wav")); 188 189 return supportedTypes; 190 } 191 192 void MediaPlayerPrivate::getSupportedTypes(HashSet<String>& types) 193 { 194 types = supportedTypesCache(); 195 } 196 197 MediaPlayer::SupportsType MediaPlayerPrivate::supportsType(const String& type, const String& codecs) 198 { 199 if (type.isEmpty()) 200 return MediaPlayer::IsNotSupported; 201 202 if (supportedTypesCache().contains(type)) 203 return codecs.isEmpty() ? MediaPlayer::MayBeSupported : MediaPlayer::IsSupported; 155 204 return MediaPlayer::IsNotSupported; 156 205 } -
trunk/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h
r53625 r56349 133 133 static void getSupportedTypes(HashSet<String>&); 134 134 static MediaPlayer::SupportsType supportsType(const String& type, const String& codecs); 135 static HashSet<String>& supportedTypesCache(); 135 136 static bool isAvailable() { return true; } 136 137
Note: See TracChangeset
for help on using the changeset viewer.