From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: GStreamer xwidget Date: Tue, 23 Nov 2021 15:54:01 -0500 Message-ID: References: <87ee7cq2mu.fsf.ref@yahoo.com> <87ee7cq2mu.fsf@yahoo.com> <87zgpzp80c.fsf@yahoo.com> <87czmvtf68.fsf@gnus.org> <87czmunkmo.fsf@yahoo.com> <8735noajkl.fsf@yahoo.com> <87sfvn5p0j.fsf@yahoo.com> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31867"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Nov 23 21:55:04 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpcoh-00082Y-Ps for ged-emacs-devel@m.gmane-mx.org; Tue, 23 Nov 2021 21:55:03 +0100 Original-Received: from localhost ([::1]:58470 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mpcog-0000Z9-JA for ged-emacs-devel@m.gmane-mx.org; Tue, 23 Nov 2021 15:55:02 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:39448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mpcnk-0008Iz-8W for emacs-devel@gnu.org; Tue, 23 Nov 2021 15:54:04 -0500 Original-Received: from [2001:470:142:3::e] (port=34230 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mpcnh-0005mv-Mq; Tue, 23 Nov 2021 15:54:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=Po8+wgYusG2Nber05jI+gdeCaqwUBqMajn1w4YJn040=; b=OOlKkw0WUHAH E87iurK5s+a/eq/sl4hkYpOpb2L/WxBQaGntdMcqeGXsP8OhYzcHJh6eW+VhsgdV39p93F5vOraFs uKlwGBC+103xf+qI9yMT09UMgl9HyXIXCN/dwJmmOee3K1OZfevQ+7eoNbtdGBovEFxMzFtYm7IE5 psC1uJQj6oRAeoggyyBu4twCfJpvnuyYJwqxpPBxvDpBO+LrQCfV1yhFbL/YzFQJ+Zv5qdq34dCJ6 lpIAvERnX0uUtZSBkwS9ZYp93VZWDqRuWQSSKjEKs4FveH0A7AK5g26Kj5mIAVqBE+rFekKGpSYTe ZgeQa9ufhp1g531IFN5v1Q==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1mpcnh-0006R0-I7; Tue, 23 Nov 2021 15:54:01 -0500 In-Reply-To: <87sfvn5p0j.fsf@yahoo.com> (message from Po Lu on Tue, 23 Nov 2021 15:07:08 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279972 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Here's how one would create a GStreamer element (and in doing so load a > plugin): > GstElement *element = gst_element_factory_make ("factoryname", NULL); > Where "factoryname" is the name of the element factory you want. This is incomplete -- I can't make sense of it. It talks about things I never heard of: "elements" and "element factories". > GStreamer will then find and load the shared library containing the > plugin that provides an element by that name, and then use it to create > the GstElement. What does it mean for the plug-in to "provide" an "element"? > Obviously, creating a GstElement is insufficient, because for it to be > useful one will inevitably have to connect it to something, and > configure it. What does that mean? The story "The Gostak and the Doshes", by Miles Breuer, gives an idea of how lost I feel at this point. Is the argument "factoryname" the place where one specifies which format is to be used? You wrote doublequotes around that name. What do those doublequotes mean? Do they mean that the argument is supposed to have a C string as value? Do they mean that the argument is supposed to be a C string constant? Something else? What data type is that argument? Is it a C string? Please show me a few examples of real, valid, possible values for that argument. What argument value would specify MPEG4? What argument value would specify Webm? How does the program control which set of plug-ins are permitted? For instance, suppose the program wants to use only the "good" plug-ins. What C code does it use to specify this? -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)