void gss_server_remove_program (GssServer * server, GssProgram * program) { g_return_if_fail (GSS_IS_SERVER (server)); g_return_if_fail (GSS_IS_PROGRAM (program)); gss_server_remove_resources_by_priv (server, program); server->programs = g_list_remove (server->programs, program); GSS_OBJECT_SERVER (program) = NULL; }
void gss_program_add_stream (GssProgram * program, GssStream * stream) { g_return_if_fail (GSS_IS_PROGRAM (program)); g_return_if_fail (GSS_IS_STREAM (stream)); program->streams = g_list_append (program->streams, stream); stream->program = program; gss_stream_add_resources (stream); }
void gss_program_remove_stream (GssProgram * program, GssStream * stream) { g_return_if_fail (GSS_IS_PROGRAM (program)); g_return_if_fail (GSS_IS_STREAM (stream)); program->streams = g_list_remove (program->streams, stream); gss_stream_remove_resources (stream); gst_object_unparent (GST_OBJECT (stream)); stream->program = NULL; }