static void
gst_vaapi_display_x11_set_property(
    GObject      *object,
    guint         prop_id,
    const GValue *value,
    GParamSpec   *pspec
)
{
    GstVaapiDisplayX11 * const display = GST_VAAPI_DISPLAY_X11(object);

    switch (prop_id) {
    case PROP_SYNCHRONOUS:
        set_synchronous(display, g_value_get_boolean(value));
        break;
    case PROP_DISPLAY_NAME:
        set_display_name(display, g_value_get_string(value));
        break;
    case PROP_X11_DISPLAY:
        display->priv->x11_display = g_value_get_pointer(value);
        break;
    case PROP_X11_SCREEN:
        display->priv->x11_screen = g_value_get_int(value);
        break;
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
        break;
    }
}
コード例 #2
0
ファイル: colorbalance.C プロジェクト: ratopi/CinelerraCV
ColorBalanceEngine::ColorBalanceEngine(ColorBalanceMain *plugin)
 : Thread()
{
	this->plugin = plugin;
	last_frame = 0;
	set_synchronous(1);
}
コード例 #3
0
ファイル: channeledit.C プロジェクト: Cuchulain/cinelerra
int ChannelEditEditThread::edit_channel(Channel *channel, int editing)
{
	if(in_progress) 
	{
		edit_window->lock_window("ChannelEditEditThread::edit_channel");
		edit_window->raise_window(1);
		edit_window->unlock_window();
		return 1;
	}
	in_progress = 1;

// Copy the channel to edit into a temporary
	completion->lock("ChannelEditEditThread::edit_channel");
	this->editing = editing;
	this->output_channel = channel;
	new_channel.copy_settings(output_channel);
	new_channel.copy_usage(output_channel);

	if(editing && new_channel.title[0])
		user_title = 1;
	else
		user_title = 0;
	set_synchronous(0);
	Thread::start();
	return 0;
}
コード例 #4
0
ファイル: piano.C プロジェクト: knutj/cinelerra
PianoThread::PianoThread(Piano *synth)
 : Thread()
{
	this->synth = synth;
	set_synchronous(0);
	completion.lock();
}
コード例 #5
0
/**
 * gst_vaapi_display_x11_set_synchronous:
 * @display: a #GstVaapiDisplayX11
 * @synchronous: boolean value that indicates whether to enable or
 *   disable synchronization
 *
 * If @synchronous is %TRUE, gst_vaapi_display_x11_set_synchronous()
 * turns on synchronous behaviour on the underlying X11
 * display. Otherwise, synchronous behaviour is disabled if
 * @synchronous is %FALSE.
 */
void
gst_vaapi_display_x11_set_synchronous (GstVaapiDisplayX11 * display,
    gboolean synchronous)
{
  g_return_if_fail (GST_VAAPI_IS_DISPLAY_X11 (display));

  set_synchronous (display, synchronous);
}
コード例 #6
0
BlurZoomThread::BlurZoomThread(BlurZoomMain *client)
    : Thread()
{
    this->client = client;
    set_synchronous(0);
    gui_started.lock();
    completion.lock();
}
コード例 #7
0
ColorThread::ColorThread(int do_alpha, char *title)
 : Thread()
{
	window = 0;
	this->title = title;
	this->do_alpha = do_alpha;
	set_synchronous(0);
	mutex = new Mutex("ColorThread::mutex");
	completion = new Condition(1, "ColorThread::completion");
}
コード例 #8
0
ファイル: removefile.C プロジェクト: Cuchulain/cinelerra
RemoveFile::RemoveFile(const char *path,int autodelete)
 : Thread(1, 0, autodelete) // joinable
{
// Rename to temporary
	set_synchronous(0);
	uuid_t id;
	uuid_generate(id);
	strcpy(file_path, path);
	uuid_unparse(id, file_path + strlen(file_path));
	rename(path, file_path);
}
コード例 #9
0
ファイル: mainindexes.C プロジェクト: beequ7et/cinelerra-cv
MainIndexes::MainIndexes(MWindow *mwindow)
 : Thread()
{
	set_synchronous(1);
	this->mwindow = mwindow;
	input_lock = new Condition(0, "MainIndexes::input_lock");
	next_lock = new Mutex("MainIndexes::next_lock");
	interrupt_lock = new Condition(1, "MainIndexes::interrupt_lock");
	interrupt_flag = 0;
	done = 0;
	indexfile = new IndexFile(mwindow);
}
コード例 #10
0
ファイル: brender.C プロジェクト: beequ7et/cinelerra-cv
BRender::BRender(MWindow *mwindow)
 : Thread()
{
	this->mwindow = mwindow;
	map_lock = new Mutex("BRender::map_lock");
	completion_lock = new Condition(0, "BRender::completion_lock");
	timer = new Timer;
	socket_path[0] = 0;
	thread = 0;
	master_pid = -1;
	arguments[0] = arguments[1] = arguments[2] = 0;
	map = 0;
	map_size = 0;
	map_valid = 0;
	last_contiguous + 0;
	set_synchronous(1);
}
コード例 #11
0
ファイル: blur.C プロジェクト: Cuchulain/cinelerra
BlurEngine::BlurEngine(BlurMain *plugin)
 : Thread(1, 0, 0)
{
	this->plugin = plugin;
	last_frame = 0;

// Strip size
	int size = plugin->get_input()->get_w() > plugin->get_input()->get_h() ? 
		plugin->get_input()->get_w() : plugin->get_input()->get_h();
// Prepare for oversampling
	size *= 2;
	val_p = new pixel_f[size];
	val_m = new pixel_f[size];
	radius = new double[size];
	src = new pixel_f[size];
	dst = new pixel_f[size];

	set_synchronous(1);
	input_lock.lock();
	output_lock.lock();
}
コード例 #12
0
ファイル: drivesync.C プロジェクト: Cuchulain/cinelerra
DriveSync::DriveSync()
 : Thread(1, 0, 0)
{
	done = 0;
	set_synchronous(1);
}