Changeset 207883 in webkit
- Timestamp:
- Oct 26, 2016 1:43:24 AM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 1 deleted
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r207882 r207883 1 2016-10-26 Enrique Ocaña González <eocanha@igalia.com> 2 3 [GStreamer][MSE] WebKitMediaSourceGStreamer refactoring 4 https://bugs.webkit.org/show_bug.cgi?id=162902 5 6 Reviewed by Xabier Rodriguez-Calvar. 7 8 Move WebKitMediaSourceGStreamer to the mse directory, split public and private header 9 sections, manage stream data throttling and seek synchronization, audio/video/text stream 10 counting, improve GStreamer duration query, stream initialization, remove 11 MediaSourceClientGStreamer logic (factored out to its own class in another patch) and 12 interaction with MediaPlayerPrivateGStreamerMSE, PlaybackPipeline and 13 SourceBufferPrivateGStreamer. 14 15 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Removed. 16 * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp: Added. 17 (disabledAppsrcNeedData): 18 (disabledAppsrcEnoughData): 19 (disabledAppsrcSeekData): 20 (enabledAppsrcEnoughData): 21 (enabledAppsrcSeekData): 22 (getStreamByAppsrc): 23 (webkit_media_src_init): 24 (webKitMediaSrcFinalize): 25 (webKitMediaSrcSetProperty): 26 (webKitMediaSrcGetProperty): 27 (webKitMediaSrcDoAsyncStart): 28 (webKitMediaSrcDoAsyncDone): 29 (webKitMediaSrcChangeState): 30 (webKitMediaSrcGetSize): 31 (webKitMediaSrcQueryWithParent): 32 (webKitMediaSrcUpdatePresentationSize): 33 (webKitMediaSrcLinkStreamToSrcPad): 34 (webKitMediaSrcLinkParser): 35 (webKitMediaSrcFreeStream): 36 (webKitMediaSrcCheckAllTracksConfigured): 37 (webKitMediaSrcUriGetType): 38 (webKitMediaSrcGetProtocols): 39 (webKitMediaSrcGetUri): 40 (webKitMediaSrcSetUri): 41 (webKitMediaSrcUriHandlerInit): 42 (seekNeedsDataMainThread): 43 (notifyReadyForMoreSamplesMainThread): 44 (applicationMessageCallback): 45 (webKitMediaSrcSetMediaPlayerPrivate): 46 (webKitMediaSrcSetReadyForSamples): 47 (webKitMediaSrcPrepareSeek): 48 (WTF::adoptGRef): 49 (WTF::refGPtr<WebKitMediaSrc>): 50 (WTF::derefGPtr<WebKitMediaSrc>): 51 * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h: Renamed from Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h. 52 * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h: Added. 53 1 54 2016-10-26 Enrique Ocaña González <eocanha@igalia.com> 2 55 -
trunk/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h
r207882 r207883 3 3 * Copyright (C) 2013 Collabora Ltd. 4 4 * Copyright (C) 2013 Orange 5 * Copyright (C) 2014 Sebastian Dröge <sebastian@centricular.com> 5 * Copyright (C) 2014, 2015 Sebastian Dröge <sebastian@centricular.com> 6 * Copyright (C) 2015, 2016 Metrological Group B.V. 7 * Copyright (C) 2015, 2016 Igalia, S.L 6 8 * 7 9 * This library is free software; you can redistribute it and/or … … 30 32 #include "SourceBufferPrivate.h" 31 33 #include "SourceBufferPrivateClient.h" 34 #include <gst/gst.h> 32 35 33 #include <gst/gst.h> 36 namespace WebCore { 37 38 class MediaPlayerPrivateGStreamerMSE; 39 40 enum MediaSourceStreamTypeGStreamer { Invalid, Unknown, Audio, Video, Text }; 41 42 } 34 43 35 44 G_BEGIN_DECLS … … 53 62 struct _WebKitMediaSrcClass { 54 63 GstBinClass parentClass; 64 65 // Notify app that number of audio/video/text streams changed. 66 void (*videoChanged)(WebKitMediaSrc*); 67 void (*audioChanged)(WebKitMediaSrc*); 68 void (*textChanged)(WebKitMediaSrc*); 55 69 }; 56 70 57 71 GType webkit_media_src_get_type(void); 58 72 73 void webKitMediaSrcSetMediaPlayerPrivate(WebKitMediaSrc*, WebCore::MediaPlayerPrivateGStreamerMSE*); 74 75 void webKitMediaSrcPrepareSeek(WebKitMediaSrc*, const MediaTime&); 76 void webKitMediaSrcSetReadyForSamples(WebKitMediaSrc*, bool); 77 59 78 G_END_DECLS 60 79 61 namespace WTF {62 template<> GRefPtr<WebKitMediaSrc> adoptGRef(WebKitMediaSrc* ptr);63 template<> WebKitMediaSrc* refGPtr<WebKitMediaSrc>(WebKitMediaSrc* ptr);64 template<> void derefGPtr<WebKitMediaSrc>(WebKitMediaSrc* ptr);65 };66 67 namespace WebCore {68 69 class ContentType;70 71 class MediaSourceClientGStreamer: public RefCounted<MediaSourceClientGStreamer> {72 public:73 MediaSourceClientGStreamer(WebKitMediaSrc*);74 virtual ~MediaSourceClientGStreamer();75 76 // From MediaSourceGStreamer77 MediaSourcePrivate::AddStatus addSourceBuffer(PassRefPtr<SourceBufferPrivate>, const ContentType&);78 void durationChanged(const MediaTime&);79 void markEndOfStream(MediaSourcePrivate::EndOfStreamStatus);80 81 // From SourceBufferPrivateGStreamer82 SourceBufferPrivateClient::AppendResult append(PassRefPtr<SourceBufferPrivate>, const unsigned char*, unsigned);83 void removedFromMediaSource(PassRefPtr<SourceBufferPrivate>);84 85 private:86 GRefPtr<WebKitMediaSrc> m_src;87 };88 89 };90 91 80 #endif // USE(GSTREAMER)
Note: See TracChangeset
for help on using the changeset viewer.