changeset 371:b0e50e10472c libavformat

av_log() cleanup null pointer segfaults dont print redundant spam dont print prefix if reference==NULL class -> av_class dont copy AVClass to every object, its a waste of memory and not a good idea at all
author michael
date Wed, 03 Mar 2004 17:53:55 +0000
parents 845f9de2c883
children 2e12cd1b68ed
files avformat.h utils.c
diffstat 2 files changed, 15 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/avformat.h	Wed Mar 03 15:41:21 2004 +0000
+++ b/avformat.h	Wed Mar 03 17:53:55 2004 +0000
@@ -241,7 +241,7 @@
 
 /* format I/O context */
 typedef struct AVFormatContext {
-    AVClass class; /* set by av_alloc_format_context */
+    AVClass *av_class; /* set by av_alloc_format_context */
     /* can only be iformat or oformat, not both at the same time */
     struct AVInputFormat *iformat;
     struct AVOutputFormat *oformat;
--- a/utils.c	Wed Mar 03 15:41:21 2004 +0000
+++ b/utils.c	Wed Mar 03 17:53:55 2004 +0000
@@ -301,9 +301,9 @@
  * open a media file from an IO stream. 'fmt' must be specified.
  */
 
-static const char* format_to_name(void* class_ptr)
+static const char* format_to_name(void* ptr)
 {
-    AVFormatContext* fc = (AVFormatContext*) class_ptr;
+    AVFormatContext* fc = (AVFormatContext*) ptr;
     if(fc->iformat) return fc->iformat->name;
     else if(fc->oformat) return fc->oformat->name;
     else return "NULL";
@@ -316,7 +316,7 @@
     AVFormatContext *ic;
     ic = av_mallocz(sizeof(AVFormatContext));
     if (!ic) return ic;
-    ic->class = av_format_context_class;
+    ic->av_class = &av_format_context_class;
     return ic;
 }
 
@@ -1745,13 +1745,13 @@
     int i, flags;
     char buf[256];
 
-    av_log(ic, AV_LOG_DEBUG, "%s #%d, %s, %s '%s':\n", 
+    av_log(NULL, AV_LOG_DEBUG, "%s #%d, %s, %s '%s':\n", 
             is_output ? "Output" : "Input",
             index, 
             is_output ? ic->oformat->name : ic->iformat->name, 
             is_output ? "to" : "from", url);
     if (!is_output) {
-        av_log(ic, AV_LOG_DEBUG, "  Duration: ");
+        av_log(NULL, AV_LOG_DEBUG, "  Duration: ");
         if (ic->duration != AV_NOPTS_VALUE) {
             int hours, mins, secs, us;
             secs = ic->duration / AV_TIME_BASE;
@@ -1760,23 +1760,23 @@
             secs %= 60;
             hours = mins / 60;
             mins %= 60;
-            av_log(ic, AV_LOG_DEBUG, "%02d:%02d:%02d.%01d", hours, mins, secs, 
+            av_log(NULL, AV_LOG_DEBUG, "%02d:%02d:%02d.%01d", hours, mins, secs, 
                    (10 * us) / AV_TIME_BASE);
         } else {
-            av_log(ic, AV_LOG_DEBUG, "N/A");
+            av_log(NULL, AV_LOG_DEBUG, "N/A");
         }
-        av_log(ic, AV_LOG_DEBUG, ", bitrate: ");
+        av_log(NULL, AV_LOG_DEBUG, ", bitrate: ");
         if (ic->bit_rate) {
-            av_log(ic, AV_LOG_DEBUG,"%d kb/s", ic->bit_rate / 1000);
+            av_log(NULL, AV_LOG_DEBUG,"%d kb/s", ic->bit_rate / 1000);
         } else {
-            av_log(ic, AV_LOG_DEBUG, "N/A");
+            av_log(NULL, AV_LOG_DEBUG, "N/A");
         }
-        av_log(ic, AV_LOG_DEBUG, "\n");
+        av_log(NULL, AV_LOG_DEBUG, "\n");
     }
     for(i=0;i<ic->nb_streams;i++) {
         AVStream *st = ic->streams[i];
         avcodec_string(buf, sizeof(buf), &st->codec, is_output);
-        av_log(ic, AV_LOG_DEBUG, "  Stream #%d.%d", index, i);
+        av_log(NULL, AV_LOG_DEBUG, "  Stream #%d.%d", index, i);
         /* the pid is an important information, so we display it */
         /* XXX: add a generic system */
         if (is_output)
@@ -1784,9 +1784,9 @@
         else
             flags = ic->iformat->flags;
         if (flags & AVFMT_SHOW_IDS) {
-            av_log(ic, AV_LOG_DEBUG, "[0x%x]", st->id);
+            av_log(NULL, AV_LOG_DEBUG, "[0x%x]", st->id);
         }
-        av_log(ic, AV_LOG_DEBUG, ": %s\n", buf);
+        av_log(NULL, AV_LOG_DEBUG, ": %s\n", buf);
     }
 }