Go to the documentation of this file.
22 #include <boost/intrusive_ptr.hpp>
34 class DefineVideoStreamTag;
114 const boost::intrusive_ptr<const SWF::DefineVideoStreamTag> m_def;
120 bool _embeddedStream;
123 std::int32_t _lastDecodedVideoFrameNum;
126 std::unique_ptr<image::GnashImage> _lastDecodedVideoFrame;
133 std::unique_ptr<media::VideoDecoder> _decoder;
void add_invalidated_bounds(InvalidatedRanges &ranges, bool force)
Add the DisplayObject's invalidated bounds to the given ranges list.
Definition: Video.cpp:206
Definition: DefineVideoStreamTag.h:44
The base class for all ActionScript objects.
Definition: as_object.h:162
Render a dynamic mask for a specified DisplayObject.
Definition: DisplayObject.h:969
geometry::Range2d< std::int32_t > getRange() const
Construct and return a Range2d object.
Definition: SWFRect.h:222
PlayHead::PlaybackStatus playbackState() const
Definition: NetStream_as.h:196
void log_debug(StringType msg, Args... args)
Definition: log.h:301
std::int32_t y
Definition: BitmapData_as.cpp:435
bool pointInBounds(std::int32_t x, std::int32_t y) const
Return true if the given point falls in this DisplayObject's bounds.
Definition: DisplayObject.h:488
#define LOG_ONCE(x)
Definition: log.h:49
#define _(String)
Definition: log.h:44
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
void setInvalidatedVideo(DisplayObject *ch)
Register the DisplayObject to invalidate on video updates.
Definition: NetStream_as.h:309
Base class for different types of bitmaps.
Definition: GnashImage.h:78
SWFMatrix getWorldMatrix(const DisplayObject &d, bool includeRoot=true)
Get concatenated SWFMatrix (all ancestor transforms and our SWFMatrix)
Definition: DisplayObject.h:1131
Base class for render handlers.
Definition: Renderer.h:189
InvalidatedRanges m_old_invalidated_ranges
Bounds of this DisplayObject instance before first invalidation since last call to clear_invalidated(...
Definition: DisplayObject.h:1029
virtual SWFRect getBounds() const
Definition: Video.cpp:228
void saveOriginalTarget()
Definition: DisplayObject.h:991
int width() const
Get the width of the video.
Definition: Video.cpp:78
bool smoothing() const
Whether this Video object should request smoothing when scaled.
Definition: Video.h:95
const Transform & transform() const
Definition: DisplayObject.h:292
std::string DSOEXPORT getTarget() const
Return full path to this object, in dot notation.
Definition: DisplayObject.cpp:621
void log_error(StringType msg, Args... args)
Definition: log.h:283
virtual void markOwnResources() const
Mark video-specific reachable resources.
Definition: Video.cpp:238
~Video()
Definition: Video.cpp:73
Rectangle class, see swf defined rectangle record.
Definition: SWFRect.h:45
int videoWidth() const
Get the real width of the video in pixels if the decoder exists.
Definition: NetStream_as.cpp:1200
virtual bool pointInShape(std::int32_t x, std::int32_t y) const
Return true if the given point falls in this DisplayObject's shape.
Definition: Video.h:58
const RunResources & getRunResources(const as_object &o)
Get the RunResources from an as_object.
Definition: as_object.cpp:1142
virtual void display(Renderer &renderer, const Transform &xform)
Render the DisplayObject.
Definition: Video.cpp:103
VideoStream ActionScript object.
Definition: Video.h:50
void setSmoothing(bool b)
Set whether smoothing is required.
Definition: Video.h:98
virtual void drawVideoFrame(image::GnashImage *frame, const Transform &xform, const SWFRect *bounds, bool smooth)=0
Draws a video frame.
@ _1
Definition: GnashKey.h:95
void set_invalidated()
This function marks the DisplayObject as being modified in aspect and keeps track of current invalida...
Definition: DisplayObject.cpp:183
media::MediaHandler * mediaHandler() const
Definition: RunResources.h:104
NetStream_as ActionScript class.
Definition: NetStream_as.h:182
void setStream(NetStream_as *ns)
Set the input stream for this video.
Definition: Video.cpp:221
std::unique_ptr< image::GnashImage > get_video()
Returns the video frame closest to current cursor. See time().
Definition: NetStream_as.cpp:203
int height() const
Get the height of the video.
Definition: Video.cpp:85
void clear_invalidated()
Definition: DisplayObject.h:720
DisplayObject * parent() const
Return the parent of this DisplayObject, or NULL if the DisplayObject has no parent.
Definition: DisplayObject.h:252
void add(const RangeType &range)
Add a Range to the set, merging when possible and appropriate.
Definition: snappingrange.h:250
movie_root & getRoot(const as_environment &env)
Definition: as_environment.cpp:645
int videoHeight() const
Get the real height of the video in pixels if the decoder exists.
Definition: NetStream_as.cpp:1193
virtual void construct(as_object *init=nullptr)
Register this video instance as a live DisplayObject.
Definition: Video.cpp:199
virtual void setReachable()
Mark any other reachable resources, and finally mark our owner.
Definition: Relay.cpp:36
Video(as_object *object, const SWF::DefineVideoStreamTag *def, DisplayObject *parent)
Definition: Video.cpp:41
@ PLAY_PAUSED
Definition: PlayHead.h:41
void clear()
Definition: Video.cpp:92
DisplayObject is the base class for all DisplayList objects.
Definition: DisplayObject.h:169
std::uint16_t get_ratio() const
Definition: DisplayObject.h:360
@ SWF
Definition: GnashKey.h:331
bool invalidated() const
Return whether this DisplayObject has been invalidated or not.
Definition: DisplayObject.h:657
std::int32_t x
Definition: BitmapData_as.cpp:434
@ b
Definition: GnashKey.h:148
DSOEXPORT void expand_to_transformed_rect(const SWFMatrix &m, const SWFRect &r)
Definition: SWFRect.cpp:74
@ e
Definition: GnashKey.h:151