Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1427)

Side by Side Diff: Source/modules/mediastream/MediaStream.h

Issue 827673002: Add MediaStream.active attribute (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/events/EventTypeNames.in ('k') | Source/modules/mediastream/MediaStream.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * Copyright (C) 2011 Ericsson AB. All rights reserved. 3 * Copyright (C) 2011 Ericsson AB. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 59
60 void addTrack(MediaStreamTrack*, ExceptionState&); 60 void addTrack(MediaStreamTrack*, ExceptionState&);
61 void removeTrack(MediaStreamTrack*, ExceptionState&); 61 void removeTrack(MediaStreamTrack*, ExceptionState&);
62 MediaStreamTrack* getTrackById(String); 62 MediaStreamTrack* getTrackById(String);
63 MediaStream* clone(ExecutionContext*); 63 MediaStream* clone(ExecutionContext*);
64 64
65 MediaStreamTrackVector getAudioTracks() const { return m_audioTracks; } 65 MediaStreamTrackVector getAudioTracks() const { return m_audioTracks; }
66 MediaStreamTrackVector getVideoTracks() const { return m_videoTracks; } 66 MediaStreamTrackVector getVideoTracks() const { return m_videoTracks; }
67 MediaStreamTrackVector getTracks(); 67 MediaStreamTrackVector getTracks();
68 68
69 bool active() const { return m_descriptor->active(); }
69 bool ended() const; 70 bool ended() const;
70 void stop(); 71 void stop();
71 72
73 DEFINE_ATTRIBUTE_EVENT_LISTENER(active);
74 DEFINE_ATTRIBUTE_EVENT_LISTENER(inactive);
72 DEFINE_ATTRIBUTE_EVENT_LISTENER(ended); 75 DEFINE_ATTRIBUTE_EVENT_LISTENER(ended);
73 DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack); 76 DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack);
74 DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack); 77 DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack);
75 78
76 void trackEnded(); 79 void trackEnded();
77 80
78 // MediaStreamDescriptorClient 81 // MediaStreamDescriptorClient
79 virtual void streamEnded() override; 82 virtual void streamEnded() override;
80 83
81 MediaStreamDescriptor* descriptor() const { return m_descriptor.get(); } 84 MediaStreamDescriptor* descriptor() const { return m_descriptor.get(); }
(...skipping 11 matching lines...) Expand all
93 MediaStream(ExecutionContext*, PassRefPtr<MediaStreamDescriptor>); 96 MediaStream(ExecutionContext*, PassRefPtr<MediaStreamDescriptor>);
94 MediaStream(ExecutionContext*, const MediaStreamTrackVector& audioTracks, co nst MediaStreamTrackVector& videoTracks); 97 MediaStream(ExecutionContext*, const MediaStreamTrackVector& audioTracks, co nst MediaStreamTrackVector& videoTracks);
95 98
96 // ContextLifecycleObserver 99 // ContextLifecycleObserver
97 virtual void contextDestroyed() override; 100 virtual void contextDestroyed() override;
98 101
99 // MediaStreamDescriptorClient 102 // MediaStreamDescriptorClient
100 virtual void addRemoteTrack(MediaStreamComponent*) override; 103 virtual void addRemoteTrack(MediaStreamComponent*) override;
101 virtual void removeRemoteTrack(MediaStreamComponent*) override; 104 virtual void removeRemoteTrack(MediaStreamComponent*) override;
102 105
106 bool emptyOrOnlyEndedTracks();
107
103 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); 108 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>);
104 void scheduledEventTimerFired(Timer<MediaStream>*); 109 void scheduledEventTimerFired(Timer<MediaStream>*);
105 110
106 bool m_stopped; 111 bool m_stopped;
107 112
108 MediaStreamTrackVector m_audioTracks; 113 MediaStreamTrackVector m_audioTracks;
109 MediaStreamTrackVector m_videoTracks; 114 MediaStreamTrackVector m_videoTracks;
110 RefPtr<MediaStreamDescriptor> m_descriptor; 115 RefPtr<MediaStreamDescriptor> m_descriptor;
111 116
112 Timer<MediaStream> m_scheduledEventTimer; 117 Timer<MediaStream> m_scheduledEventTimer;
113 WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; 118 WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents;
114 }; 119 };
115 120
116 typedef HeapVector<Member<MediaStream> > MediaStreamVector; 121 typedef HeapVector<Member<MediaStream> > MediaStreamVector;
117 122
118 } // namespace blink 123 } // namespace blink
119 124
120 #endif // MediaStream_h 125 #endif // MediaStream_h
OLDNEW
« no previous file with comments | « Source/core/events/EventTypeNames.in ('k') | Source/modules/mediastream/MediaStream.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698