Removed DivX codec from support lists
authorSejun Park <sejun79.park@samsung.com>
Thu, 27 Oct 2016 08:45:52 +0000 (17:45 +0900)
committerSejun Park <sejun79.park@samsung.com>
Thu, 27 Oct 2016 08:47:25 +0000 (17:47 +0900)
Change-Id: I47de5ae54e63cdca9aebcdbfa17eeeb0f3995b0c

ext/libav/gstavcodecmap.c
ext/libav/gstavmux.c
packaging/gst-libav.spec

index 51148da..de6045f 100644 (file)
@@ -1009,11 +1009,14 @@ gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id,
 
           gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id,
                   encode, "video/x-divx", "divxversion", G_TYPE_INT, 5, NULL));
-        } else {
+        }
+#ifndef TIZEN_FEATURE_LIBAV
+        else {
           gst_caps_append (caps, gst_ff_vid_caps_new (context, NULL, codec_id,
                   encode, "video/x-divx", "divxversion", GST_TYPE_INT_RANGE, 4,
                   5, NULL));
         }
+#endif
       }
       break;
 
index 139d291..9c628b2 100644 (file)
@@ -33,9 +33,9 @@
 #include "gstavutils.h"
 #include "gstavprotocol.h"
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
 #include "libavformat/movenc.h"
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
 typedef struct _GstFFMpegMux GstFFMpegMux;
 typedef struct _GstFFMpegMuxPad GstFFMpegMuxPad;
@@ -59,11 +59,11 @@ struct _GstFFMpegMux
   gboolean opened;
 
   guint videopads, audiopads;
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   guint expected_trailer_size;
   guint nb_video_frames;
   guint nb_audio_frames;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
   /*< private > */
   /* event_function is the collectpads default eventfunction */
@@ -103,11 +103,11 @@ enum
   PROP_0,
   PROP_PRELOAD,
   PROP_MAXDELAY
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   , PROP_EXPECTED_TRAILER_SIZE,
   PROP_NUMBER_VIDEO_FRAMES,
   PROP_NUMBER_AUDIO_FRAMES
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 };
 
 /* A number of function prototypes are given so we can refer to them later. */
@@ -140,9 +140,9 @@ static void gst_ffmpeg_mux_simple_caps_set_int_list (GstCaps * caps,
 
 #define GST_FFMUX_PARAMS_QDATA g_quark_from_static_string("avmux-params")
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
 static void gst_ffmpegmux_release_pad(GstElement *element, GstPad *pad);
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
 static GstElementClass *parent_class = NULL;
 
@@ -204,7 +204,7 @@ gst_ffmpegmux_is_formatter (const char *name)
 }
 
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
 /* trailer entry size */
 #define ENTRY_SIZE_VIDEO_STTS         8
 #define ENTRY_SIZE_VIDEO_STSS         4
@@ -470,7 +470,7 @@ update_expected_trailer_size (GstFFMpegMux * ffmpegmux)
 
   return;
 }
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
 
 static void
@@ -578,9 +578,9 @@ gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   GParamSpec * tspec = NULL;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
   gobject_class = (GObjectClass *) klass;
   gstelement_class = (GstElementClass *) klass;
@@ -604,7 +604,7 @@ gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass)
   gstelement_class->change_state = gst_ffmpegmux_change_state;
   gobject_class->finalize = gst_ffmpegmux_finalize;
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   gstelement_class->release_pad = gst_ffmpegmux_release_pad;
 
   /* properties */
@@ -631,7 +631,7 @@ gst_ffmpegmux_class_init (GstFFMpegMuxClass * klass)
     g_object_class_install_property (gobject_class, PROP_NUMBER_AUDIO_FRAMES, tspec);
   else
     GST_ERROR("g_param_spec failed for \"number-audio-frames\"");
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 }
 
 static void
@@ -658,15 +658,15 @@ gst_ffmpegmux_init (GstFFMpegMux * ffmpegmux, GstFFMpegMuxClass * g_class)
   ffmpegmux->audiopads = 0;
   ffmpegmux->max_delay = 0;
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   ffmpegmux->expected_trailer_size = 0;
   ffmpegmux->nb_video_frames = 0;
   ffmpegmux->nb_audio_frames = 0;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 }
 
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
 static void
 gst_ffmpegmux_release_pad (GstElement * element, GstPad * pad)
 {
@@ -717,7 +717,7 @@ gst_ffmpegmux_release_pad (GstElement * element, GstPad * pad)
 
   return;
 }
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
 static void
 gst_ffmpegmux_set_property (GObject * object, guint prop_id,
@@ -755,7 +755,7 @@ gst_ffmpegmux_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_MAXDELAY:
       g_value_set_int (value, src->max_delay);
       break;
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     case PROP_EXPECTED_TRAILER_SIZE:
       g_value_set_uint(value, src->expected_trailer_size);
       break;
@@ -765,7 +765,7 @@ gst_ffmpegmux_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_NUMBER_AUDIO_FRAMES:
       g_value_set_uint(value, src->nb_audio_frames);
       break;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -881,10 +881,10 @@ gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps)
    * codec aspect. */
   st->sample_aspect_ratio = st->codec->sample_aspect_ratio;
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
   /* ref counting bug fix */
   gst_object_unref(ffmpegmux);
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
   GST_LOG_OBJECT (pad, "accepted caps %" GST_PTR_FORMAT, caps);
   return TRUE;
@@ -892,10 +892,10 @@ gst_ffmpegmux_setcaps (GstPad * pad, GstCaps * caps)
   /* ERRORS */
 not_accepted:
   {
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     /* ref counting bug fix */
     gst_object_unref (ffmpegmux);
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
     GST_LOG_OBJECT (pad, "rejecting caps %" GST_PTR_FORMAT, caps);
     return FALSE;
   }
@@ -1128,10 +1128,10 @@ gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data)
     gboolean need_free = FALSE;
     GstMapInfo map;
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     av_init_packet (&pkt);
     pkt.is_mux = 1;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
 
     /* push out current buffer */
     buf =
@@ -1140,14 +1140,14 @@ gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data)
     ffmpegmux->context->streams[best_pad->padnum]->codec->frame_number++;
 
     /* set time */
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     if (ffmpegmux->context->streams[best_pad->padnum]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
         pkt.pts = GST_TIME_AS_MSECONDS(GST_BUFFER_TIMESTAMP(buf));
     else
-#else /* GST_TIZEN_MODIFICATION */
+#else /* TIZEN_FEATURE_LIBAV */
     pkt.pts = gst_ffmpeg_time_gst_to_ff (GST_BUFFER_TIMESTAMP (buf),
         ffmpegmux->context->streams[best_pad->padnum]->time_base);
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
     pkt.dts = pkt.pts;
 
     if (strcmp (ffmpegmux->context->oformat->name, "gif") == 0) {
@@ -1182,7 +1182,7 @@ gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data)
     if (!GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT))
       pkt.flags |= AV_PKT_FLAG_KEY;
 
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     if (ffmpegmux->context->streams[best_pad->padnum]->codec->codec_type ==
         AVMEDIA_TYPE_VIDEO) {
       static int last_duration = -1;
@@ -1233,14 +1233,14 @@ gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data)
     }
 
     update_expected_trailer_size (ffmpegmux);
-#else /* GST_TIZEN_MODIFICATION */
+#else /* TIZEN_FEATURE_LIBAV */
     if (GST_BUFFER_DURATION_IS_VALID (buf))
       pkt.duration =
           gst_ffmpeg_time_gst_to_ff (GST_BUFFER_DURATION (buf),
           ffmpegmux->context->streams[best_pad->padnum]->time_base);
     else
       pkt.duration = 0;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
     av_write_frame (ffmpegmux->context, &pkt);
     if (need_free) {
       g_free (pkt.data);
@@ -1288,16 +1288,16 @@ gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition)
     case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
     {
       int i = 0;
-#endif /* GST_TIZEN_MODIFICATION */
+#endif /* TIZEN_FEATURE_LIBAV */
       gst_tag_setter_reset_tags (GST_TAG_SETTER (ffmpegmux));
       if (ffmpegmux->opened) {
         ffmpegmux->opened = FALSE;
         gst_ffmpegdata_close (ffmpegmux->context->pb);
       }
-#ifdef GST_TIZEN_MODIFICATION
+#ifdef TIZEN_FEATURE_LIBAV
       for (i = 0 ; i < ffmpegmux->context->nb_streams ; i++) {
         ffmpegmux->context->streams[i]->start_time = AV_NOPTS_VALUE;
         ffmpegmux->context->streams[i]->duration = AV_NOPTS_VALUE;
index 5589072..f88d52d 100644 (file)
@@ -37,6 +37,7 @@ NOCONFIGURE=1 ./autogen.sh
 
 export CFLAGS+=" -Wall -g -fPIC\
  -DGST_TIZEN_MODIFICATION\
+ -DTIZEN_FEATURE_LIBAV   \
  -DLIBAV_RANK_MODIFICATION"
 
 %configure  --disable-static \