From 30d34a99f1a68b3f3d6aaa05a21358aab077cec0 Mon Sep 17 00:00:00 2001 From: Paul Fee Date: Fri, 19 Jan 2024 11:29:17 +0000 Subject: [PATCH] docs: Minor updates to Plugin Writer's Guide boiler.md: Update meson command to avoid warning. states.md: Clarify that a sink element accepting only one buffer only happens when paused. Link text duplicated normal text. args.md: A valid range is between values, not between ranges. Reword for clarity. testapp.md: Clarify linking refers to the pipeline, not build time compilation and linking. Part-of: --- .../markdown/plugin-development/basics/args.md | 4 ++-- .../markdown/plugin-development/basics/boiler.md | 2 +- .../markdown/plugin-development/basics/states.md | 10 +++++----- .../markdown/plugin-development/basics/testapp.md | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/subprojects/gst-docs/markdown/plugin-development/basics/args.md b/subprojects/gst-docs/markdown/plugin-development/basics/args.md index d153f75e68..5221b4c57b 100644 --- a/subprojects/gst-docs/markdown/plugin-development/basics/args.md +++ b/subprojects/gst-docs/markdown/plugin-development/basics/args.md @@ -96,8 +96,8 @@ applications will use these properties and will display a user-controllable widget with which these properties can be changed. This means that - for the property to be as user-friendly as possible - you should be as exact as possible in the definition of the property. -Not only in defining ranges in between which valid properties can be -located (for integers, floats, etc.), but also in using very descriptive +Not only in defining ranges of valid property values (for integers, +floats, etc.), but also in using very descriptive (better yet: internationalized) strings in the definition of the property, and if possible using enums and flags instead of integers. The GObject documentation describes these in a very complete way, but below, diff --git a/subprojects/gst-docs/markdown/plugin-development/basics/boiler.md b/subprojects/gst-docs/markdown/plugin-development/basics/boiler.md index 2d50611d84..de8b077617 100644 --- a/subprojects/gst-docs/markdown/plugin-development/basics/boiler.md +++ b/subprojects/gst-docs/markdown/plugin-development/basics/boiler.md @@ -96,7 +96,7 @@ The last command creates two files: `gstmyfilter.c` and `gstmyfilter.h`. > It is recommended that you create a copy of the `gst-plugin` directory > before continuing. -Now one needs to run `meson build` from the parent directory to bootstrap the +Now one needs to run `meson setup build` from the parent directory to bootstrap the build environment. After that, the project can be built and installed using the well known `ninja -C build` commands. diff --git a/subprojects/gst-docs/markdown/plugin-development/basics/states.md b/subprojects/gst-docs/markdown/plugin-development/basics/states.md index 86d4ae6029..7ef19d8fda 100644 --- a/subprojects/gst-docs/markdown/plugin-development/basics/states.md +++ b/subprojects/gst-docs/markdown/plugin-development/basics/states.md @@ -38,8 +38,8 @@ should *not* be allocated in this state. `GST_STATE_PAUSED` is the state in which an element is ready to accept and handle data. For most elements this state is the same as PLAYING. -The only exception to this rule are sink elements. Sink elements only -accept one single buffer of data and then block. At this point the +The only exception to this rule are sink elements. Paused sink elements +only accept one buffer of data and then block. At this point the pipeline is 'prerolled' and ready to render data immediately. `GST_STATE_PLAYING` is the highest state that an element can be in. For @@ -51,9 +51,9 @@ card or render video pictures to an image sink. ## Managing filter state -If at all possible, your element should derive from one of the new base -classes ([Pre-made base classes](plugin-development/element-types/base-classes.md)). There are -ready-made general purpose base classes for different types of sources, +If at all possible, your element should derive from one of the +[pre-made base classes](plugin-development/element-types/base-classes.md). +These are ready-made general purpose base classes for different types of sources, sinks and filter/transformation elements. In addition to those, specialised base classes exist for audio and video elements and others. diff --git a/subprojects/gst-docs/markdown/plugin-development/basics/testapp.md b/subprojects/gst-docs/markdown/plugin-development/basics/testapp.md index 743d218b6e..0fe38b829f 100644 --- a/subprojects/gst-docs/markdown/plugin-development/basics/testapp.md +++ b/subprojects/gst-docs/markdown/plugin-development/basics/testapp.md @@ -4,8 +4,8 @@ title: Building a Test Application # Building a Test Application -Often, you will want to test your newly written plugin in an as small -setting as possible. Usually, `gst-launch-1.0` is a good first step at +Often, you will want to test your newly written plugin in as small +a setting as possible. Usually, `gst-launch-1.0` is a good first step at testing a plugin. If you have not installed your plugin in a directory that GStreamer searches, then you will need to set the plugin path. Either set GST\_PLUGIN\_PATH to the directory containing your plugin, or @@ -38,7 +38,7 @@ a `fakesink` element at the end of the pipeline to dump your data to the stdout (in order to do this, set the `dump` property to TRUE). Lastly, you can use valgrind to check for memory errors. -During linking, your test application can use filtered caps as a way to +During pipeline linking, your test application can use filtered caps as a way to drive a specific type of data to or from your element. This is a very simple and effective way of checking multiple types of input and output in your element.