All pastes #955466 Raw Edit

Untitled

public c v1 · immutable
#955466 ·published 2008-03-24 17:29 UTC
rendered paste body
static voidset_stream_held (TpMediaStreamHandler *proxy,                    gboolean held,                    gpointer user_data,                    GObject *object){  TpStreamEngineStream *self = TP_STREAM_ENGINE_STREAM (object);  g_assert (self->priv->fs_stream != NULL);  DEBUG ("parent_channel = %p. Holding : %d", self->priv->parent_channel, held);  if (held)    {      /* Hold the call */      if (farsight_stream_hold (self->priv->fs_stream)) {        tp_stream_engine_stream_held ();        /* Send success message */        if (self->priv->stream_handler_proxy)          {            tp_cli_media_stream_handler_call_hold_state (                self->priv->stream_handler_proxy, -1, TRUE,                async_method_callback, "Media.StreamHandler::HoldState",                NULL, (GObject *) self);          }      } else {        stop_stream (self);        tp_stream_engine_stream_error (self, 0, "Error holding call");      }    }  else    {      /* Make sure we have access to the resource */      if (tp_stream_engine_get_unheld_call () == NULL ||          tp_stream_engine_get_unheld_call () == self->priv->parent_channel) {        /* Unhold the call */        if (farsight_stream_unhold (self->priv->fs_stream)) {          tp_stream_engine_stream_unheld (self->priv->parent_channel);          /* Send success message */          if (self->priv->stream_handler_proxy)            {              tp_cli_media_stream_handler_call_hold_state (                  self->priv->stream_handler_proxy, -1, FALSE,                  async_method_callback, "Media.StreamHandler::HoldState",                  NULL, (GObject *) self);            }        } else {          stop_stream (self);          tp_stream_engine_stream_error (self, 0, "Error unholding call");        }      } else {        /* Send failure message */        if (self->priv->stream_handler_proxy)          {            tp_cli_media_stream_handler_call_unhold_failure (                self->priv->stream_handler_proxy, -1,                async_method_callback, "Media.StreamHandler::UnholdFailure",                NULL, (GObject *) self);          }      }    }}