Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the glossary. #79

Merged
merged 5 commits into from
Jun 16, 2023
Merged

Improve the glossary. #79

merged 5 commits into from
Jun 16, 2023

Conversation

varsill
Copy link
Collaborator

@varsill varsill commented Jun 7, 2023

No description provided.

@varsill varsill marked this pull request as draft June 7, 2023 08:18
@varsill varsill requested a review from jerzywilczek June 7, 2023 09:39
@varsill varsill marked this pull request as ready for review June 7, 2023 09:39
Copy link
Contributor

@jerzywilczek jerzywilczek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤠

- #### **Frame**
Frame can refer to either [network frame](<https://en.wikipedia.org/wiki/Frame_(networking)>) or **media frame**, which is a basic data unit used by media coding formats. In particular one media frame can represent a single image in a video.
The frame can refer to either [network frame](<https://en.wikipedia.org/wiki/Frame_(networking)>) or **media frame**, which is a basic data unit used by media coding formats. In particular, one media frame can represent a single image in a video.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The frame can refer to either [network frame](<https://en.wikipedia.org/wiki/Frame_(networking)>) or **media frame**, which is a basic data unit used by media coding formats. In particular, one media frame can represent a single image in a video.
'Frame' can refer to either [network frame](<https://en.wikipedia.org/wiki/Frame_(networking)>) or **media frame**, which is a basic data unit used by media coding formats. In particular, one media frame can represent a single image in a video.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we want to stick to a convention of repeating the term from the header at the beginning of the definition, just as you have proposed here - WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's fine to leave it as-is in the rest of the definitions

## Membrane Framework

- #### **Action**
An action can be returned from [callback][#callback] and it is a way of element interaction with other elements and parts of the framework. An exemplary action might be [`:buffer`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:buffer/0) action, that sends buffers through a pad, or [`:terminate`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:terminate/0) action, that terminates element with given reason.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
An action can be returned from [callback][#callback] and it is a way of element interaction with other elements and parts of the framework. An exemplary action might be [`:buffer`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:buffer/0) action, that sends buffers through a pad, or [`:terminate`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:terminate/0) action, that terminates element with given reason.
An action can be returned from [callback](#callback) and it is a way of element interaction with other elements and parts of the framework. An exemplary action might be [`:buffer`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:buffer/0) action, that sends buffers through a pad, or [`:terminate`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:terminate/0) action, that terminates element with given reason.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

An action can be returned from [callback][#callback] and it is a way of element interaction with other elements and parts of the framework. An exemplary action might be [`:buffer`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:buffer/0) action, that sends buffers through a pad, or [`:terminate`](https://hexdocs.pm/membrane_core/Membrane.Element.Action.html#t:terminate/0) action, that terminates element with given reason.
- #### **Callback**
A callback is a function defined by a user, that gets called once a particular event happens.
Exemplary callbacks in the Membrane Framework are: [`handle_end_of_stream/3`](https://hexdocs.pm/membrane_core/Membrane.Element.WithInputPads.html#c:handle_end_of_stream/3) being called once the end of stream event is received on some pad or []`handle_init/2`](https://hexdocs.pm/membrane_core/Membrane.Pipeline.html#c:handle_init/2) called on initialization of an [element](#element).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Exemplary callbacks in the Membrane Framework are: [`handle_end_of_stream/3`](https://hexdocs.pm/membrane_core/Membrane.Element.WithInputPads.html#c:handle_end_of_stream/3) being called once the end of stream event is received on some pad or []`handle_init/2`](https://hexdocs.pm/membrane_core/Membrane.Pipeline.html#c:handle_init/2) called on initialization of an [element](#element).
Exemplary callbacks in the Membrane Framework are: [`handle_end_of_stream/3`](https://hexdocs.pm/membrane_core/Membrane.Element.WithInputPads.html#c:handle_end_of_stream/3) being called once the end of stream event is received on some pad or [`handle_init/2`](https://hexdocs.pm/membrane_core/Membrane.Pipeline.html#c:handle_init/2) called on initialization of an [element](#element).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- #### **Endpoint**
An element with both input and output [pads](#pads), responsible for receiving and consuming data (e.g., writing to a soundcard, sending via TCP, etc.) as well as producing data (e.g., reading from a soundcard, downloading via HTTP, etc.) and sending it through the corresponding pads. It can be thought of as an element merging all the functionalities of previously mentioned element categories: source, filter, and sink.
- #### **ChildrenSpec**
In Membrane Framework, we call ChildrenSpec a bunch of functionalities that allow for defining the topology of the [pipeline](#pipeline) or a [bin](#bin). You can read more about ChildrenSpec [here](https://hexdocs.pm/membrane_core/Membrane.ChildrenSpec.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In Membrane Framework, we call ChildrenSpec a bunch of functionalities that allow for defining the topology of the [pipeline](#pipeline) or a [bin](#bin). You can read more about ChildrenSpec [here](https://hexdocs.pm/membrane_core/Membrane.ChildrenSpec.html).
In Membrane Framework, `ChildrenSpec` is a way of describing the topology of a [pipeline](#pipeline) or a [bin](#bin). You can read more about `ChildrenSpec` [here](https://hexdocs.pm/membrane_core/Membrane.ChildrenSpec.html).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

- #### **Phoenix**
The web development framework written in Elixir. [https://phoenixframework.org/](https://phoenixframework.org/)
- #### **Mix**
Elixir behavior abstracts client/server interaction. [https://elixir-lang.org/getting-started/mix-otp/genserver.html](https://elixir-lang.org/getting-started/mix-otp/genserver.html)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we spell it 'behaviour' here? elixir uses this British spelling

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, we can, I have changed it

@varsill varsill requested a review from jerzywilczek June 12, 2023 07:14
Copy link
Contributor

@jerzywilczek jerzywilczek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤠

A color encoding system that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance](https://en.wikipedia.org/wiki/Chrominance) components. By reducing the resolution of the chrominance components it is possible to compress an image with minuscule effect on human perception of the image.
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance](https://en.wikipedia.org/wiki/Chrominance) components. By reducing the resolution of the chrominance components it is possible to compress an image with a minuscule effect on human perception of the image. That encoding is commonly used for analog video processing.
- #### **YCbCr**
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance difference] components: [blue-difference](https://en.wikipedia.org/wiki/B-Y) and [red-difference](https://en.wikipedia.org/wiki/R-Y). In contrast to **YUV** it's more often used in digital video processing. It happens that YCbCr is mistakenly called [YUV](#yuv).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance difference] components: [blue-difference](https://en.wikipedia.org/wiki/B-Y) and [red-difference](https://en.wikipedia.org/wiki/R-Y). In contrast to **YUV** it's more often used in digital video processing. It happens that YCbCr is mistakenly called [YUV](#yuv).
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance difference] components: [blue-difference](https://en.wikipedia.org/wiki/B-Y) and [red-difference](https://en.wikipedia.org/wiki/R-Y). In contrast to **YUV** it's more often used in digital video processing. It happens that YCbCr is often mistakenly called [YUV](#yuv).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

A color encoding system that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance](https://en.wikipedia.org/wiki/Chrominance) components. By reducing the resolution of the chrominance components it is possible to compress an image with minuscule effect on human perception of the image.
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance](https://en.wikipedia.org/wiki/Chrominance) components. By reducing the resolution of the chrominance components it is possible to compress an image with a minuscule effect on human perception of the image. That encoding is commonly used for analog video processing.
- #### **YCbCr**
Color space that defines one [luminance](https://en.wikipedia.org/wiki/Luminance) and two [chrominance difference] components: [blue-difference](https://en.wikipedia.org/wiki/B-Y) and [red-difference](https://en.wikipedia.org/wiki/R-Y). In contrast to **YUV** it's more often used in digital video processing. It happens that YCbCr is mistakenly called [YUV](#yuv).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have to link to something if you write 'chrominance difference' in square brackets 😉

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indeed, done ;)

@varsill varsill requested a review from jerzywilczek June 14, 2023 11:31
Copy link
Contributor

@jerzywilczek jerzywilczek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐙

@varsill varsill merged commit 14733ec into main Jun 16, 2023
@varsill varsill deleted the improve_glossary branch June 16, 2023 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants