diff options
author | Benjamin Otte <otte@gnome.org> | 2008-12-10 15:01:44 +0100 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2008-12-16 21:38:15 +0100 |
commit | c54d6df2ae2f605975b1cc56bf1ceafce118b19d (patch) | |
tree | 81fa89df5cfb2728da87bc2c4ae24e6323661980 | |
parent | bd504644cd5bfbb8be14bdfbdc8018052bec6207 (diff) |
stub out NetStream's native properties
-rw-r--r-- | swfdec/swfdec_as_strings.c | 2 | ||||
-rw-r--r-- | swfdec/swfdec_net_stream.c | 101 |
2 files changed, 102 insertions, 1 deletions
diff --git a/swfdec/swfdec_as_strings.c b/swfdec/swfdec_as_strings.c index 3df37a9d..23859811 100644 --- a/swfdec/swfdec_as_strings.c +++ b/swfdec/swfdec_as_strings.c @@ -526,7 +526,7 @@ const SwfdecAsConstantStringValue swfdec_as_strings[] = { SWFDEC_AS_CONSTANT_STRING ("currentFps") SWFDEC_AS_CONSTANT_STRING ("decodedFrames") SWFDEC_AS_CONSTANT_STRING ("liveDelay") - SWFDEC_AS_CONSTANT_STRING ("videoCodec") + SWFDEC_AS_CONSTANT_STRING ("videocodec") SWFDEC_AS_CONSTANT_STRING ("System") SWFDEC_AS_CONSTANT_STRING ("__resolve") SWFDEC_AS_CONSTANT_STRING ("Rectangle") diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c index b28e1666..67ccc832 100644 --- a/swfdec/swfdec_net_stream.c +++ b/swfdec/swfdec_net_stream.c @@ -195,6 +195,7 @@ swfdec_net_stream_dispose (GObject *object) } g_signal_handlers_disconnect_by_func (stream->video, swfdec_net_stream_video_buffer_status, stream); + g_object_unref (stream->video); G_OBJECT_CLASS (swfdec_net_stream_parent_class)->dispose (object); } @@ -273,6 +274,103 @@ swfdec_net_stream_set_checkPolicyFile (SwfdecAsContext *cx, SwfdecAsObject *obje SWFDEC_STUB ("NetStream.checkPolicyFile (set)"); } +static void +swfdec_net_stream_get_audiocodec (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.audiocodec (get)"); +} + +static void +swfdec_net_stream_get_bufferLength (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.bufferLength (get)"); +} + +static void +swfdec_net_stream_get_bufferTime (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.bufferTime (get)"); +} + +static void +swfdec_net_stream_get_bytesLoaded (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.bytesLoaded (get)"); +} + +static void +swfdec_net_stream_get_bytesTotal (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.bytesTotal (get)"); +} + +static void +swfdec_net_stream_get_currentFps (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.currentFps (get)"); +} + +static void +swfdec_net_stream_get_decodedFrames (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.decodedFrames (get)"); +} + +static void +swfdec_net_stream_get_liveDelay (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.liveDelay (get)"); +} + +static void +swfdec_net_stream_get_time (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.time (get)"); +} + +static void +swfdec_net_stream_get_videocodec (SwfdecAsContext *cx, SwfdecAsObject *object, + guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval) +{ + SWFDEC_STUB ("NetStream.videocodec (get)"); +} + +static void +swfdec_net_stream_install_properties (SwfdecAsObject *object) +{ + object = object->prototype; + + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_audiocodec, + swfdec_net_stream_get_audiocodec, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_bufferLength, + swfdec_net_stream_get_bufferLength, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_bufferTime, + swfdec_net_stream_get_bufferTime, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_bytesLoaded, + swfdec_net_stream_get_bytesLoaded, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_bytesTotal, + swfdec_net_stream_get_bytesTotal, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_currentFps, + swfdec_net_stream_get_currentFps, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_decodedFrames, + swfdec_net_stream_get_decodedFrames, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_liveDelay, + swfdec_net_stream_get_liveDelay, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_time, + swfdec_net_stream_get_time, NULL); + swfdec_as_object_add_native_variable (object, SWFDEC_AS_STR_videocodec, + swfdec_net_stream_get_videocodec, NULL); +} + SWFDEC_AS_NATIVE (2101, 200, swfdec_net_stream_construct) void swfdec_net_stream_construct (SwfdecAsContext *cx, SwfdecAsObject *object, @@ -284,6 +382,8 @@ swfdec_net_stream_construct (SwfdecAsContext *cx, SwfdecAsObject *object, SWFDEC_AS_CHECK (0, NULL, "oo", &o, &oconn); + swfdec_net_stream_install_properties (o); + if (!cx->frame->next || !cx->frame->next->construct) return; if (!SWFDEC_IS_RTMP_CONNECTION (oconn->relay)) @@ -298,6 +398,7 @@ swfdec_net_stream_construct (SwfdecAsContext *cx, SwfdecAsObject *object, stream->conn = conn; stream->rpc = swfdec_rtmp_rpc_new (conn, SWFDEC_AS_RELAY (stream)); stream->video = swfdec_net_stream_video_new (SWFDEC_PLAYER (cx)); + g_object_ref (stream->video); g_signal_connect (stream->video, "notify::playing", G_CALLBACK (swfdec_net_stream_video_buffer_status), stream); swfdec_as_context_get_time (cx, &stream->rpc->last_send); |