diff options
author | Benjamin Otte <otte@gnome.org> | 2008-12-10 11:51:03 +0100 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2008-12-16 21:38:14 +0100 |
commit | 1ac6d8f50435d67786965bb7a0f2ff865ed7d034 (patch) | |
tree | 5f2e66f7a23da657c39595dc24b0aab122358247 | |
parent | 282eea7488ef6b4e43b278438917218bb350e4e8 (diff) |
implement proper queueing for the RPC channel
-rw-r--r-- | swfdec/swfdec_net_stream.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c index 0478d31a..e74c5ff2 100644 --- a/swfdec/swfdec_net_stream.c +++ b/swfdec/swfdec_net_stream.c @@ -70,12 +70,24 @@ swfdec_net_stream_rtmp_stream_receive (SwfdecRtmpStream *rtmp_stream, } static SwfdecRtmpPacket * -swfdec_net_stream_rtmp_stream_sent (SwfdecRtmpStream *stream, +swfdec_net_stream_rtmp_stream_sent (SwfdecRtmpStream *rtmp_stream, const SwfdecRtmpPacket *packet) { - SWFDEC_FIXME ("implement"); + SwfdecNetStream *stream = SWFDEC_NET_STREAM (rtmp_stream); + SwfdecRtmpPacket *result; + + if (packet->header.channel == SWFDEC_NET_STREAM_RPC_CHANNEL (stream)) { + result = swfdec_rtmp_rpc_pop (stream->rpc, TRUE); + if (result) { + result->header.channel = SWFDEC_NET_STREAM_RPC_CHANNEL (stream); + result->header.stream = stream->stream; + } + } else { + result = NULL; + g_assert_not_reached (); + } - return NULL; + return result; } static void |