mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
docs/: Do some Architect work.
Original commit message from CVS: * docs/design/draft-tagreading.txt: * docs/random/ensonic/audiobaseclasses.txt: Do some Architect work. * gst/gstobject.c: (gst_object_set_name): Add a WARNING. * gst/gstpad.c: Add docs that point from gst_pad_get_range to gst_pad_pull_range
This commit is contained in:
parent
2792895411
commit
08afeb6120
5 changed files with 79 additions and 2 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2007-03-13 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/design/draft-tagreading.txt:
|
||||
* docs/random/ensonic/audiobaseclasses.txt:
|
||||
Do some Architect work.
|
||||
|
||||
* gst/gstobject.c: (gst_object_set_name):
|
||||
Add a WARNING.
|
||||
|
||||
* gst/gstpad.c:
|
||||
Add docs that point from gst_pad_get_range to gst_pad_pull_range
|
||||
|
||||
2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
|
||||
|
||||
* gst/gstsystemclock.c: (gst_system_clock_init),
|
||||
|
|
47
docs/design/draft-tagreading.txt
Normal file
47
docs/design/draft-tagreading.txt
Normal file
|
@ -0,0 +1,47 @@
|
|||
Tagreading
|
||||
----------
|
||||
|
||||
The tagreading (metadata reading) use case for mediacenter applications is not
|
||||
to well supported by the current GStreamer architecture. It uses demuxers on the
|
||||
files, which generelly said takes too long. what we wan't is secialized elements
|
||||
that just do the tag-reading.
|
||||
|
||||
The idea is to have one plugin 'tagread' simmilar to 'typefind' that provides
|
||||
elements for the different formats. The advantage of having those in on plugin
|
||||
would be that when building a metadatabase one only loads this plugin.
|
||||
|
||||
Then there would be a tagbin, that similar to decodebin does a typefind and then
|
||||
plugs the right tagread element. It might plug a demuxer as a fallback solution.
|
||||
|
||||
Still it would be nice to reuse code from demuxers/tag-filters.
|
||||
|
||||
|
||||
Design
|
||||
------
|
||||
|
||||
The plan is that applications can do the following:
|
||||
pipeline = "filesrc ! tagbin"
|
||||
for (file_path in list_of_files) {
|
||||
filesrc.location=file_path
|
||||
pipeline.set_state(PLAYING)
|
||||
// wait for TAGS & EOS
|
||||
pipeline.set_state(READY)
|
||||
}
|
||||
|
||||
* it should have one sinkpad of type ANY
|
||||
* it should send EOS when all metadata has been read
|
||||
(and all tags have been sent)
|
||||
* it could have a generic element that uses taglib
|
||||
http://developer.kde.org/~wheeler/taglib.html
|
||||
* tagread-elements should have RANK_NONE to be not autoplugged by decodebin
|
||||
|
||||
|
||||
Reuse
|
||||
-----
|
||||
|
||||
ogg : gst-plugins-base/ext/ogg
|
||||
avi : gst-plugins-good/gst/avi
|
||||
mp3 : gst-plugins-good/gst/id3demux
|
||||
wav : gst-plugins-good/gst/wavparse
|
||||
qt : gst-plugins-bad/gst/qtdemux
|
||||
|
15
docs/random/ensonic/audiobaseclasses.txt
Normal file
15
docs/random/ensonic/audiobaseclasses.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
$Id$
|
||||
|
||||
= audio base classes =
|
||||
We have gst-plugins-base/gst-libs/gst/audio with some audio helper and base
|
||||
classes.
|
||||
|
||||
= new stuff =
|
||||
|
||||
|
||||
= todo =
|
||||
* mv gstaudiofilterexample -> gst-template
|
||||
* make more elements using the baseclass
|
||||
* base: audiorate, audioresample, volume
|
||||
* good: audiopanorama
|
||||
|
|
@ -680,6 +680,7 @@ gst_object_set_name (GstObject * object, const gchar * name)
|
|||
/* error */
|
||||
had_parent:
|
||||
{
|
||||
GST_WARNING ("parented objects can't be renamed");
|
||||
GST_OBJECT_UNLOCK (object);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -3748,6 +3748,8 @@ not_connected:
|
|||
* @buffer's caps must either be unset or the same as what is already configured
|
||||
* on @pad. Renegotiation within a running pull-mode pipeline is not supported.
|
||||
*
|
||||
* This is a lowlevel function. Usualy gst_pad_pull_range() is used.
|
||||
*
|
||||
* Returns: a #GstFlowReturn from the pad.
|
||||
*
|
||||
* MT safe.
|
||||
|
@ -3864,9 +3866,9 @@ not_negotiated:
|
|||
* @size: The length of the buffer
|
||||
* @buffer: a pointer to hold the #GstBuffer, returns GST_FLOW_ERROR if %NULL.
|
||||
*
|
||||
* Pulls a buffer from the peer pad.
|
||||
* Pulls a @buffer from the peer pad.
|
||||
*
|
||||
* This function will first trigger the pad block signal if it was
|
||||
* This function will first trigger the pad block signal if it was
|
||||
* installed.
|
||||
*
|
||||
* When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this
|
||||
|
|
Loading…
Reference in a new issue