changeset 760:6ed8d477ba89 trunk

[svn] - add tuple building for ADTS/Shoutcast streams
author nenolod
date Wed, 28 Feb 2007 19:48:28 -0800
parents 0c18e4b8e840
children 7ffb93bce2d2
files ChangeLog src/aac/src/libmp4.c
diffstat 2 files changed, 31 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 28 19:26:41 2007 -0800
+++ b/ChangeLog	Wed Feb 28 19:48:28 2007 -0800
@@ -1,3 +1,12 @@
+2007-03-01 03:26:41 +0000  William Pitcock <nenolod@sacredspiral.co.uk>
+  revision [1616]
+  - when shifting the ringbuffer to left by one byte to regain alignment, 
+    make sure that buffervalid is decremented.
+  
+  trunk/src/aac/src/libmp4.c |    1 +
+  1 file changed, 1 insertion(+)
+
+
 2007-03-01 02:25:09 +0000  William Pitcock <nenolod@sacredspiral.co.uk>
   revision [1614]
   - remove dead header, reported by joecool.
--- a/src/aac/src/libmp4.c	Wed Feb 28 19:26:41 2007 -0800
+++ b/src/aac/src/libmp4.c	Wed Feb 28 19:48:28 2007 -0800
@@ -351,7 +351,28 @@
     TitleInput *input = NULL;
     gchar *filename = g_strdup(fn);
 
-    mp4fh = vfs_fopen(filename, "rb");
+    mp4fh = vfs_buffered_file_new_from_uri(filename);
+
+    /* check if this file is an ADTS stream, if so return a blank tuple */
+    if (parse_aac_stream(mp4fh))
+    {
+        g_free(mp4cb);
+
+        input = bmp_title_input_new();
+
+        input->track_name = vfs_get_metadata(mp4fh, "track-name");
+        input->album_name = vfs_get_metadata(mp4fh, "stream-name");
+
+        input->file_name = g_path_get_basename(filename);
+        input->file_path = g_path_get_dirname(filename);
+        input->file_ext = extname(filename);
+
+        input->mtime = 0;
+        input->length = -1;
+
+        return input;
+    }
+
     mp4cb->read = mp4_read_callback;
     mp4cb->seek = mp4_seek_callback;
     mp4cb->user_data = mp4fh;