X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=src%2Fmedia%2Fmedia.c;h=51d53d373093c186d03576eba0a458ab4aaf943e;hb=56e1696c05484849c12dd4d3a5c3c015c895ee4a;hp=977743397039a15c76557bc5b2de1b734c3a3807;hpb=c879e5b17b3d5fef34ab58fc66e1cbb4269e5bb4;p=sxemacs diff --git a/src/media/media.c b/src/media/media.c index 9777433..51d53d3 100644 --- a/src/media/media.c +++ b/src/media/media.c @@ -21,6 +21,7 @@ along with this program. If not, see . */ #include #include "lisp.h" +#include #include "buffer.h" @@ -49,12 +50,12 @@ along with this program. If not, see . */ #endif Lisp_Object Qmedia_streamp; -Lisp_Object Qunknown; +Lisp_Object Qunavailable; /* media property syms */ Lisp_Object Qdemux, Qcodec, Qnchannels, Qsamplerate; Lisp_Object Qbitrate, Qabitrate, Qvbitrate; -Lisp_Object Qwidth, Qheight, Qaspect, Qdriver, Qkind, Qfifo, Quri, Qtype; -Lisp_Object Qaudio, Qvideo, Qimage; +Lisp_Object Qaspect, Qdriver, Qkind, Qfifo, Quri; +Lisp_Object Qaudio, Qvideo; static void determine_stream_type(Lisp_Media_Stream *ms, media_driver); static void media_stream_print(Lisp_Object, Lisp_Object, int); @@ -137,7 +138,7 @@ static void determine_stream_type(Lisp_Media_Stream *ms, media_driver preferred) /*****************************************************************/ -/* media streams */ +/* media streams */ /*****************************************************************/ static Lisp_Object media_stream_mark(Lisp_Object obj) { @@ -168,6 +169,8 @@ media_stream_finalise(void *header, int for_disksave) Lisp_Media_Stream *ms = (Lisp_Media_Stream*)header; media_substream *mss = NULL; + if(ms == NULL) + return; if (media_stream_meths(ms) && media_stream_meth(ms, close)) media_stream_meth(ms, close)(media_stream_data(ms)); @@ -349,12 +352,12 @@ media_stream_hash (Lisp_Object obj, int depth) } static const struct lrecord_description media_stream_description[] = { - { XD_LISP_OBJECT, offsetof(Lisp_Media_Stream, first) }, - { XD_LISP_OBJECT, offsetof(Lisp_Media_Stream, last) }, + { XD_LISP_OBJECT, offsetof(Lisp_Media_Stream, first) }, + { XD_LISP_OBJECT, offsetof(Lisp_Media_Stream, last) }, { XD_INT, offsetof(Lisp_Media_Stream, kind) }, { XD_INT, offsetof(Lisp_Media_Stream, driver) }, - { XD_OPAQUE_PTR, offsetof(Lisp_Media_Stream, kind_properties) }, - { XD_OPAQUE_PTR, offsetof(Lisp_Media_Stream, stream_data) }, + { XD_OPAQUE_PTR, offsetof(Lisp_Media_Stream, kind_properties) }, + { XD_OPAQUE_PTR, offsetof(Lisp_Media_Stream, stream_data) }, { XD_END } }; @@ -367,7 +370,7 @@ DEFINE_LRECORD_IMPLEMENTATION("media_stream", media_stream, /*****************************************************************/ -/* media substreams */ +/* media substreams */ /*****************************************************************/ static void @@ -409,16 +412,13 @@ media_substream_print_audio(media_substream *mss, Lisp_Object printcharfun) write_c_string("#