From 17f92a96d085ebe01b9ea6f26663b1e118c4f46d Mon Sep 17 00:00:00 2001 From: Frankenstone Date: Wed, 27 Feb 2019 13:46:58 +0100 Subject: [PATCH] fix possible segfault arm hardware, thx DboxOldie Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/50df0bcfaca68ab92ac5794a3f6791ea3a35b7cf Author: Frankenstone Date: 2019-02-27 (Wed, 27 Feb 2019) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/audio.cpp | 10 +++++----- libarmbox/video.cpp | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libarmbox/audio.cpp b/libarmbox/audio.cpp index 85bf78d..48e3d6b 100644 --- a/libarmbox/audio.cpp +++ b/libarmbox/audio.cpp @@ -97,7 +97,7 @@ int map_volume(const int volume) int cAudio::setVolume(unsigned int left, unsigned int right) { - hal_debug("%s(%d, %d)\n", __func__, left, right); + hal_info("cAudio::%s(%d, %d)\n", __func__, left, right); volume = (left + right) / 2; int v = map_volume(volume); @@ -199,7 +199,7 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int little_endian) unsigned int devmask, stereo, usable; const char *dsp_dev = getenv("DSP_DEVICE"); const char *mix_dev = getenv("MIX_DEVICE"); - hal_debug("%s ch %d srate %d bits %d le %d\n", __FUNCTION__, ch, srate, bits, little_endian); + hal_info("cAudio::%s ch %d srate %d bits %d le %d\n", __FUNCTION__, ch, srate, bits, little_endian); if (clipfd > -1) { hal_info("%s: clipfd already opened (%d)\n", __func__, clipfd); return -1; @@ -226,7 +226,7 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int little_endian) " fall back to /dev/mixer\n", __func__, dsp_dev); mix_dev = "/dev/mixer"; } - hal_info("%s: dsp_dev %s mix_dev %s\n", __func__, dsp_dev, mix_dev); /* NULL mix_dev is ok */ + hal_info("cAudio::%s: dsp_dev %s mix_dev %s\n", __func__, dsp_dev, mix_dev); /* NULL mix_dev is ok */ /* the tdoss dsp driver seems to work only on the second open(). really. */ clipfd = open(dsp_dev, O_WRONLY); if (clipfd < 0) { @@ -313,7 +313,7 @@ int cAudio::WriteClip(unsigned char *buffer, int size) int cAudio::StopClip() { - hal_debug("%s\n", __FUNCTION__); + hal_info("cAudio::%s\n", __FUNCTION__); if (clipfd < 0) { hal_info("%s: clipfd not yet opened\n", __FUNCTION__); @@ -321,7 +321,7 @@ int cAudio::StopClip() } close(clipfd); clipfd = -1; - if (mixer_fd >= -1) { + if (mixer_fd > -1) { close(mixer_fd); mixer_fd = -1; } diff --git a/libarmbox/video.cpp b/libarmbox/video.cpp index a8c15b3..20b8509 100644 --- a/libarmbox/video.cpp +++ b/libarmbox/video.cpp @@ -276,8 +276,10 @@ AVCodecContext* open_codec(AVMediaType mediaType, AVFormatContext* formatContext int image_to_mpeg2(const char *image_name, int fd) { int ret = 0; +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) av_register_all(); avcodec_register_all(); +#endif AVFormatContext *formatContext = avformat_alloc_context(); if (formatContext && (ret = avformat_open_input(&formatContext, image_name, NULL, NULL)) == 0){