changeset 692:a77e766e332d trunk

[svn] - fix another potential synchronization problem - be more efficient wrt fds
author nenolod
date Tue, 20 Feb 2007 07:00:10 -0800
parents e6c5fdae6e88
children a7ba9d27c7b5
files ChangeLog src/aac/src/libmp4.c
diffstat 2 files changed, 112 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Feb 20 06:38:03 2007 -0800
+++ b/ChangeLog	Tue Feb 20 07:00:10 2007 -0800
@@ -1,3 +1,109 @@
+2007-02-20 14:38:03 +0000  William Pitcock <nenolod@sacredspiral.co.uk>
+  revision [1468]
+  - oh yes, commit mplayer patches as well
+  
+  trunk/src/aac/libfaad2/analysis.h        |   11 
+  trunk/src/aac/libfaad2/bits.c            |  158 +----
+  trunk/src/aac/libfaad2/bits.h            |  163 +-----
+  trunk/src/aac/libfaad2/cfft.c            |   23 
+  trunk/src/aac/libfaad2/cfft.h            |   11 
+  trunk/src/aac/libfaad2/cfft_tab.h        |   19 
+  trunk/src/aac/libfaad2/codebook/hcb.h    |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_1.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_10.h |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_11.h |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_2.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_3.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_4.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_5.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_6.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_7.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_8.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_9.h  |   11 
+  trunk/src/aac/libfaad2/codebook/hcb_sf.h |   11 
+  trunk/src/aac/libfaad2/common.c          |   25 
+  trunk/src/aac/libfaad2/common.h          |   70 ++
+  trunk/src/aac/libfaad2/decoder.c         |  125 ----
+  trunk/src/aac/libfaad2/decoder.h         |   11 
+  trunk/src/aac/libfaad2/drc.c             |   11 
+  trunk/src/aac/libfaad2/drc.h             |   11 
+  trunk/src/aac/libfaad2/drm_dec.c         |  119 ++--
+  trunk/src/aac/libfaad2/drm_dec.h         |   13 
+  trunk/src/aac/libfaad2/error.c           |   18 
+  trunk/src/aac/libfaad2/error.h           |   13 
+  trunk/src/aac/libfaad2/filtbank.c        |   11 
+  trunk/src/aac/libfaad2/filtbank.h        |   11 
+  trunk/src/aac/libfaad2/fixed.h           |   12 
+  trunk/src/aac/libfaad2/hcr.c             |   32 -
+  trunk/src/aac/libfaad2/huffman.c         |   11 
+  trunk/src/aac/libfaad2/huffman.h         |   11 
+  trunk/src/aac/libfaad2/ic_predict.c      |   22 
+  trunk/src/aac/libfaad2/ic_predict.h      |   11 
+  trunk/src/aac/libfaad2/iq_table.h        |   11 
+  trunk/src/aac/libfaad2/is.c              |   13 
+  trunk/src/aac/libfaad2/is.h              |   11 
+  trunk/src/aac/libfaad2/kbd_win.h         |   11 
+  trunk/src/aac/libfaad2/lt_predict.c      |   16 
+  trunk/src/aac/libfaad2/lt_predict.h      |   11 
+  trunk/src/aac/libfaad2/mdct.c            |   11 
+  trunk/src/aac/libfaad2/mdct.h            |   11 
+  trunk/src/aac/libfaad2/mdct_tab.h        |   11 
+  trunk/src/aac/libfaad2/mp4.c             |   25 
+  trunk/src/aac/libfaad2/mp4.h             |   11 
+  trunk/src/aac/libfaad2/ms.c              |   13 
+  trunk/src/aac/libfaad2/ms.h              |   11 
+  trunk/src/aac/libfaad2/output.c          |   71 ++
+  trunk/src/aac/libfaad2/output.h          |   11 
+  trunk/src/aac/libfaad2/pns.c             |   36 -
+  trunk/src/aac/libfaad2/pns.h             |   14 
+  trunk/src/aac/libfaad2/ps_dec.c          |  140 ++---
+  trunk/src/aac/libfaad2/ps_dec.h          |   11 
+  trunk/src/aac/libfaad2/ps_syntax.c       |   24 
+  trunk/src/aac/libfaad2/ps_tables.h       |   21 
+  trunk/src/aac/libfaad2/pulse.c           |   14 
+  trunk/src/aac/libfaad2/pulse.h           |   11 
+  trunk/src/aac/libfaad2/rvlc.c            |   11 
+  trunk/src/aac/libfaad2/rvlc.h            |   11 
+  trunk/src/aac/libfaad2/sbr_dct.c         |  840 +++++++++++++++----------------
+  trunk/src/aac/libfaad2/sbr_dct.h         |   11 
+  trunk/src/aac/libfaad2/sbr_dec.c         |  111 ----
+  trunk/src/aac/libfaad2/sbr_dec.h         |   21 
+  trunk/src/aac/libfaad2/sbr_e_nf.c        |   11 
+  trunk/src/aac/libfaad2/sbr_e_nf.h        |   11 
+  trunk/src/aac/libfaad2/sbr_fbt.c         |   11 
+  trunk/src/aac/libfaad2/sbr_fbt.h         |   11 
+  trunk/src/aac/libfaad2/sbr_hfadj.c       |   56 --
+  trunk/src/aac/libfaad2/sbr_hfadj.h       |   17 
+  trunk/src/aac/libfaad2/sbr_hfgen.c       |   12 
+  trunk/src/aac/libfaad2/sbr_hfgen.h       |   11 
+  trunk/src/aac/libfaad2/sbr_huff.c        |   11 
+  trunk/src/aac/libfaad2/sbr_huff.h        |   11 
+  trunk/src/aac/libfaad2/sbr_noise.h       |   11 
+  trunk/src/aac/libfaad2/sbr_qmf.c         |   29 -
+  trunk/src/aac/libfaad2/sbr_qmf.h         |   11 
+  trunk/src/aac/libfaad2/sbr_qmf_c.h       |   19 
+  trunk/src/aac/libfaad2/sbr_syntax.c      |   73 --
+  trunk/src/aac/libfaad2/sbr_syntax.h      |   14 
+  trunk/src/aac/libfaad2/sbr_tf_grid.c     |   11 
+  trunk/src/aac/libfaad2/sbr_tf_grid.h     |   11 
+  trunk/src/aac/libfaad2/sine_win.h        |   11 
+  trunk/src/aac/libfaad2/specrec.c         |  181 +-----
+  trunk/src/aac/libfaad2/specrec.h         |   11 
+  trunk/src/aac/libfaad2/ssr.c             |   11 
+  trunk/src/aac/libfaad2/ssr.h             |   11 
+  trunk/src/aac/libfaad2/ssr_fb.c          |   11 
+  trunk/src/aac/libfaad2/ssr_fb.h          |   17 
+  trunk/src/aac/libfaad2/ssr_ipqf.c        |   11 
+  trunk/src/aac/libfaad2/ssr_ipqf.h        |   17 
+  trunk/src/aac/libfaad2/ssr_win.h         |   17 
+  trunk/src/aac/libfaad2/structs.h         |   29 -
+  trunk/src/aac/libfaad2/syntax.c          |  304 +++--------
+  trunk/src/aac/libfaad2/syntax.h          |   18 
+  trunk/src/aac/libfaad2/tns.c             |   21 
+  trunk/src/aac/libfaad2/tns.h             |   11 
+  99 files changed, 1324 insertions(+), 2287 deletions(-)
+
+
 2007-02-20 14:31:29 +0000  William Pitcock <nenolod@sacredspiral.co.uk>
   revision [1466]
   - ringbuffering underrun fixups -- found with purify
--- a/src/aac/src/libmp4.c	Tue Feb 20 06:38:03 2007 -0800
+++ b/src/aac/src/libmp4.c	Tue Feb 20 07:00:10 2007 -0800
@@ -639,10 +639,8 @@
     return TRUE;
 }
 
-static void my_decode_aac( InputPlayback *playback, char *filename )
+static void my_decode_aac( InputPlayback *playback, char *filename, VFSFile *file )
 {
-    // WE ARE READING AN AAC FILE
-    VFSFile     *file = NULL;
     faacDecHandle   decoder = 0;
     guchar      *buffer = 0;
     gulong      bufferconsumed = 0;
@@ -655,12 +653,7 @@
     gchar       *xmmstitle = NULL;
     faacDecConfigurationPtr config;
 
-    if((file = vfs_fopen(filename, "rb")) == 0){
-        g_print("AAC: can't find file %s\n", filename);
-        buffer_playing = FALSE;
-        g_static_mutex_unlock(&mutex);
-        g_thread_exit(NULL);
-    }
+    vfs_rewind(file);
     if((decoder = faacDecOpen()) == NULL){
         g_print("AAC: Open Decoder Error\n");
         vfs_fclose(file);
@@ -802,15 +795,16 @@
     buffer_playing= TRUE;
     g_static_mutex_unlock(&mutex);
 
+    if (mp4fh == NULL)
+        g_thread_exit(NULL);
+
     ret = parse_aac_stream(mp4fh);
     vfs_rewind(mp4fh);
     mp4file= mp4ff_open_read(mp4cb);
   
     if( ret == TRUE ) {
-        my_decode_aac( playback, filename );
-        mp4cfg.file_type = FILE_AAC;
-        vfs_fclose(mp4fh);
         g_free(mp4cb);
+        my_decode_aac( playback, filename, mp4fh );
     }
     else
         my_decode_mp4( playback, filename, mp4file );