summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.mk47
-rw-r--r--Android_bp (renamed from Android.bp)24
-rw-r--r--CleanSpec.mk4
-rw-r--r--compress.c5
-rw-r--r--include/tinycompress/tinycompress.h14
5 files changed, 93 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..6242708
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,47 @@
+ifneq ($(AUDIO_USE_STUB_HAL), true)
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_CFLAGS := -Wno-macro-redefined -Wno-unused-function
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT)), true)
+LOCAL_CFLAGS += -DENABLE_EXTENDED_COMPRESS_FORMAT
+endif
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
+LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+LOCAL_SRC_FILES := compress.c utils.c
+LOCAL_MODULE := libtinycompress
+LOCAL_SHARED_LIBRARIES := libcutils libutils
+LOCAL_MODULE_TAGS := optional
+LOCAL_VENDOR_MODULE := true
+include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_CFLAGS := -Wno-macro-redefined -Wno-unused-function
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
+LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+LOCAL_SRC_FILES := cplay.c
+LOCAL_MODULE := cplay
+LOCAL_VENDOR_MODULE := true
+LOCAL_SHARED_LIBRARIES := libcutils libutils libtinycompress
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_EXECUTABLE)
+
+include $(CLEAR_VARS)
+LOCAL_CFLAGS := -Wno-macro-redefined -Wno-unused-function
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
+LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+LOCAL_SRC_FILES := compress.c utils.c
+LOCAL_CFLAGS += -DUSE_VENDOR_EXTN
+LOCAL_CFLAGS += -DENABLE_EXTENDED_COMPRESS_FORMAT
+LOCAL_MODULE := libtinycompress_vendor
+LOCAL_SHARED_LIBRARIES := libcutils libutils
+LOCAL_MODULE_TAGS := optional
+LOCAL_VENDOR_MODULE := true
+include $(BUILD_SHARED_LIBRARY)
+endif
diff --git a/Android.bp b/Android_bp
index c11a974..ffd9e7b 100644
--- a/Android.bp
+++ b/Android_bp
@@ -25,6 +25,30 @@ cc_library_shared {
],
}
+cc_library_shared {
+ name: "libtinycompress_vendor",
+ vendor: true,
+
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wno-macro-redefined",
+ "-Wno-unused-function",
+ ],
+ export_include_dirs: ["include"],
+ srcs: [
+ "compress.c",
+ "utils.c",
+ ],
+ shared_libs: [
+ "libcutils",
+ "libutils",
+ ],
+ header_libs: [
+ "device_kernel_headers",
+ ],
+}
+
cc_binary {
name: "cplay",
vendor: true,
diff --git a/CleanSpec.mk b/CleanSpec.mk
index f7dec23..9eab8b3 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -44,7 +44,9 @@
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/cplay)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/cplay)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/lib64/libtinycompress.so)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/lib/libtinycompress.so)
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/compress.c b/compress.c
index 7422c4b..6077891 100644
--- a/compress.c
+++ b/compress.c
@@ -552,8 +552,13 @@ int compress_set_next_track_param(struct compress *compress,
if (!is_compress_running(compress))
return oops(compress, ENODEV, "device not ready");
+ if (codec_options == NULL)
+ return oops(compress, ENODEV, "codec_option NULL");
+
+#ifdef SNDRV_COMPRESS_SET_NEXT_TRACK_PARAM
if (ioctl(compress->fd, SNDRV_COMPRESS_SET_NEXT_TRACK_PARAM, codec_options))
return oops(compress, errno, "cannot set next track params\n");
+#endif
return 0;
}
#endif
diff --git a/include/tinycompress/tinycompress.h b/include/tinycompress/tinycompress.h
index 0ab7134..62dcade 100644
--- a/include/tinycompress/tinycompress.h
+++ b/include/tinycompress/tinycompress.h
@@ -81,6 +81,8 @@ struct compr_gapless_mdata {
struct compress;
struct snd_compr_tstamp;
+union snd_codec_options;
+struct snd_compr_metadata;
#ifdef ENABLE_EXTENDED_COMPRESS_FORMAT
union snd_codec_options;
@@ -254,6 +256,18 @@ int compress_set_next_track_param(struct compress *compress,
#endif
/*
+ * compress_set_next_track_param: set params of next compress stream in gapless
+ *
+ * return 0 on success, negative on error
+ *
+ * @compress: compress stream for which codec options has to be set
+ * @codec_options: codec options of compress stream based on codec type
+ */
+
+int compress_set_next_track_param(struct compress *compress,
+ union snd_codec_options *codec_options);
+
+/*
* is_codec_supported:check if the given codec is supported
* returns true when supported, false if not
*