summaryrefslogtreecommitdiff
path: root/docs/design/draft-tagreading.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/draft-tagreading.txt')
-rw-r--r--docs/design/draft-tagreading.txt28
1 files changed, 16 insertions, 12 deletions
diff --git a/docs/design/draft-tagreading.txt b/docs/design/draft-tagreading.txt
index 89308f08c5..7d02629348 100644
--- a/docs/design/draft-tagreading.txt
+++ b/docs/design/draft-tagreading.txt
@@ -20,7 +20,7 @@ peeked buffers (a queue element after sink, but that would change pull to push).
Design
-------
+~~~~~~
The plan is that applications can do the following:
pipeline = "filesrc ! tagbin"
@@ -38,7 +38,8 @@ The plan is that applications can do the following:
decodebin
Interface
----------
+~~~~~~~~~
+
* gboolean iface property "tag-reading"
Switches the element to tagreading mode. Needed if normal element implement
that behaviour. Elements will skip parsing unneeded data, don't build a
@@ -47,7 +48,7 @@ Interface
Equivalent of EOS.
Use Cases
----------
+~~~~~~~~~
* mp3 with id3- and apetags
* plug id3demux ! apedemux
@@ -57,7 +58,8 @@ Use Cases
* plug vorbisdec or special vorbiscomment reader
Additional Thoughts
--------------------
+~~~~~~~~~~~~~~~~~~~
+
* would it make sense to have 2-phase tag-reading (property on tagbin and/or
tagread elements)
* 1st phase: get tag-data that are directly embedded in the data
@@ -73,23 +75,25 @@ Additional Thoughts
gst_tag_cache_store_tag_data (GstTagCache *self, const gchar *uri, GstTagList *tags);
Tests
------
+~~~~~
+
* write a generic test for parsers/demuxers to ensure they send tags until they
reached PAUSED (elements need to parse file for prerolling anyway):
set pipeline to paused, check for tags, set to playing, error out if tags come
after paused
Code Locations
---------------
+~~~~~~~~~~~~~~
+
* tagreadbin -> gst-plugins-base/gst/tagread
* tagreaderiface -> gst-plugins-base/gst-libs/gst/tag
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
+* 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