desktopdir = $(shareddir)
plugindir = $(abs_top_builddir)/src/plugins
icondir = $(shareddir)/icons/32x32
+presetdir = $(shareddir)/presets
else
shareddir = $(datadir)/rygel
sysconfigdir = $(sysconfdir)
desktopdir = $(datadir)/applications
plugindir = $(libdir)/rygel-1.0
icondir = $(datadir)/icons/hicolor/32x32/apps
+presetdir = $(shareddir)/presets
endif
smallicondir = $(shareddir)/icons/48x48
-I$(rygeldir) \
-DDATA_DIR='"$(shareddir)"' -DSYS_CONFIG_DIR='"$(sysconfigdir)"'\
-DPLUGIN_DIR='"$(plugindir)"' -DDESKTOP_DIR='"$(desktopdir)"'\
+ -DPRESET_DIR='"$(presetdir)"'\
-include config.h
RYGEL_COMMON_LIBS = \
GUPNP_AV_REQUIRED=0.9.0
GUPNP_DLNA_REQUIRED=0.5.0
GUPNP_VALA_REQUIRED=0.10.2
-GSTREAMER_REQUIRED=0.10.35
+GSTREAMER_REQUIRED=0.10.36
GSTPBU_REQUIRED=0.10.35
GIO_REQUIRED=2.26
GEE_REQUIRED=0.5.2
+include ../common.am
+
SUBDIRS = xml icons
sysconf_DATA = rygel.conf
-shareddir = $(datadir)/rygel
-
if BUILD_UI
dist_shared_DATA = rygel-preferences.ui
endif
@sed -e "s|\@bindir\@|$(bindir)|" $< > $@
# Rule to create the .desktop files
-desktopdir = $(datadir)/applications
desktop_in_files = rygel.desktop.in rygel-preferences.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
+preset_DATA = $(srcdir)/presets/ffenc_aac.prs \
+ $(srcdir)/presets/ffenc_mp2.prs \
+ $(srcdir)/presets/ffenc_mpeg2video.prs \
+ $(srcdir)/presets/ffenc_wmav1.prs \
+ $(srcdir)/presets/ffenc_wmv1.prs \
+ $(srcdir)/presets/GstLameMP3Enc.prs \
+ $(srcdir)/presets/GstMP4Mux.prs \
+ $(srcdir)/presets/GstTwoLame.prs \
+ $(srcdir)/presets/GstX264Enc.prs
+
CLEANFILES = $(dbusservice_DATA) $(desktop_DATA)
EXTRA_DIST = $(dbusservice_in_files) \
$(desktop_in_files) \
$(sysconf_DATA) \
- $(pixmaps_DATA)
-
+ $(pixmaps_DATA) \
+ $(presets_DATA)
-MAINTAINERCLEANFILES = Makefile.in
--- /dev/null
+[_presets_]
+version=0.10
+element-name=GstLameMP3Enc
+
+[Rygel DLNA preset]
+target=1
+bitrate=256
--- /dev/null
+[_presets_]
+version=0.10
+element-name=GstMP4Mux
+
+[Rygel DLNA preset]
+streamable=true
+faststart=true
--- /dev/null
+[_presets_]
+version=0.10
+element-name=GstTwoLame
+
+[Rygel DLNA preset]
+bitrate=256
--- /dev/null
+[_presets_]
+version=0.10
+element-name=GstX264Enc
+
+[Rygel AVC_MP4_BL_CIF15_AAC_520]
+preset=1
+bitrate=1200
--- /dev/null
+[_presets_]
+version=0.10
+element-name=ffenc_aac
+
+[Rygel DLNA preset]
+bitrate=64000
+
+[Rygel AAC_ISO_320 preset]
+bitrate=256000
--- /dev/null
+[_presets_]
+version=0.10
+element-name=ffenc_mp2
+
+[Rygel DLNA preset]
+bitrate=256000
--- /dev/null
+[_presets_]
+version=0.10
+element-name=ffenc_mpeg2video
+
+[Rygel DLNA preset]
+bitrate=3000000
--- /dev/null
+[_presets_]
+version=0.10
+element-name=ffenc_wmav1
+
+[Rygel DLNA preset]
+bitrate=64000
--- /dev/null
+[_presets_]
+version=0.10
+element-name=ffenc_wmv1
+
+[Rygel DLNA preset]
+bitrate=1200000
public AACTranscoder () {
base ("audio/3gpp", "AAC_ISO_320", BITRATE, CONTAINER, CODEC, "3gp");
+ this.preset = "Rygel AAC_ISO_320 preset";
}
}
protected override EncodingProfile get_encoding_profile () {
var enc_audio_profile = new EncodingAudioProfile (audio_codec_format,
- null,
+ this.preset,
null,
1);
enc_audio_profile.set_name ("audio");
var enc_container_profile = new EncodingContainerProfile ("container",
null,
container_format,
- null);
+ this.preset);
enc_container_profile.add_profile (enc_audio_profile);
return enc_container_profile;
VIDEO_CAPS,
"mp4",
RESTRICTIONS);
+ this.preset = "Rygel AVC_MP4_BL_CIF15_AAC_520 preset";
}
public override DIDLLiteResource? add_resource (DIDLLiteItem didl_item,
[CCode (cname = "LOCALEDIR")]
public static const string LOCALEDIR;
+
+ [CCode (cname = "PRESET_DIR")]
+ public static const string PRESET_DIR;
}
using GUPnP;
using Posix;
+[CCode (cname="gst_preset_set_app_dir")]
+extern bool gst_preset_set_app_dir (string app_dir);
+
public class Rygel.Main : Object {
private static int PLUGIN_TIMEOUT = 5;
Unix.signal_add (SIGHUP, () => { this.restart (); return true; });
Unix.signal_add (SIGINT, () => { this.exit (0); return false; });
Unix.signal_add (SIGTERM, () => { this.exit (0); return false; });
+
+ gst_preset_set_app_dir (BuildConfig.PRESET_DIR);
}
public void exit (int exit_code) {
public string mime_type { get; protected set; }
public string dlna_profile { get; protected set; }
public string extension { get; protected set; }
+ public string preset { get;
+ protected set;
+ default = DEFAULT_ENCODING_PRESET; }
private const string DECODE_BIN = "decodebin2";
private const string ENCODE_BIN = "encodebin";
+ private const string DEFAULT_ENCODING_PRESET = "Rygel DLNA preset";
dynamic Element decoder;
dynamic Element encoder;
var enc_video_profile = new EncodingVideoProfile
(this.video_codec_format,
- null,
+ this.preset,
this.video_restrictions,
1);
enc_video_profile.set_name ("video");