summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEvan Dekker <ehendrikd@gmail.com>2019-10-03 16:32:09 +1000
committerEvan Dekker <ehendrikd@gmail.com>2019-10-03 16:32:09 +1000
commit4084bfd270ebbb1d97fff713060f89c1afc6eb8d (patch)
tree842c5e18862aedf922b40c5a1fe39fe67a17054b /lib
parent4e3c457f5900777e1f187ab06389da28cd0bb482 (diff)
Fix mp3guessenc for Windows builds
Diffstat (limited to 'lib')
-rw-r--r--lib/mp3guessenc-0.27.4/mp3g_io_config.h3
-rw-r--r--lib/mp3guessenc-0.27.4/mp3guessenc.c24
-rw-r--r--lib/mp3guessenc-0.27.4/tags.c8
-rw-r--r--lib/mp3guessenc-0.27.4/tags.h4
4 files changed, 25 insertions, 14 deletions
diff --git a/lib/mp3guessenc-0.27.4/mp3g_io_config.h b/lib/mp3guessenc-0.27.4/mp3g_io_config.h
index 63d8a3668a..32d79d4536 100644
--- a/lib/mp3guessenc-0.27.4/mp3g_io_config.h
+++ b/lib/mp3guessenc-0.27.4/mp3g_io_config.h
@@ -16,6 +16,7 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+/* Modifed by Evan Dekker 2019-09-26 */
#ifndef MP3G_IO_CONFIG_H_
#define MP3G_IO_CONFIG_H_
@@ -40,7 +41,7 @@
#define ftello ftello64
#endif /* __MINGW32__ */
-#if defined(OS2) || defined(_OS2) || defined(__OS2__) || defined(AMIGA) || defined(__amigaos__)
+#if defined(OS2) || defined(_OS2) || defined(__OS2__) || defined(AMIGA) || defined(__amigaos__) || defined(__WINDOWS__)
#define fseeko fseek
#define ftello ftell
#if defined(OS2) || defined(_OS2) || defined(__OS2__)
diff --git a/lib/mp3guessenc-0.27.4/mp3guessenc.c b/lib/mp3guessenc-0.27.4/mp3guessenc.c
index a3bd467b8b..f0a1c34c64 100644
--- a/lib/mp3guessenc-0.27.4/mp3guessenc.c
+++ b/lib/mp3guessenc-0.27.4/mp3guessenc.c
@@ -66,7 +66,11 @@
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
+#if defined(__WINDOWS__)
+#include <io.h>
+#else
#include <unistd.h>
+#endif
#include <sys/stat.h>
#include "mp3guessenc.h"
@@ -206,7 +210,7 @@ char malformed_part1(unsigned char *, currentFrame *);
/* Mpeg header utilities */
-char head_check(unsigned int head, char relaxed)
+char mp3guessenc_head_check(unsigned int head, char relaxed)
/*
* Integrity checks for an mpeg header (4 bytes)
* Return values:
@@ -350,7 +354,7 @@ char layerIII(unsigned int head)
/* unit for begin_ptr and length is bit */
/* begin_ptr should have values in 1..7 - fix: it works with any values */
/* begin_ptr may be NULL, when not NULL it is increased of 'length' amount */
-unsigned short crc_update(unsigned short old_crc, unsigned char *data, unsigned int *begin_ptr, unsigned int length)
+unsigned short mp3guessenc_crc_update(unsigned short old_crc, unsigned char *data, unsigned int *begin_ptr, unsigned int length)
{
#define CRC16_POLYNOMIAL 0x8005
@@ -428,11 +432,11 @@ char verify_crc(unsigned int header, unsigned char *chk_buffer, int p1len, unsig
/* the crc16 is first calculated on the last two bytes of the header */
dummy = (unsigned char)((header>>8)&0xFF);
- curr_crc = crc_update(curr_crc, &dummy, NULL, 8);
+ curr_crc = mp3guessenc_crc_update(curr_crc, &dummy, NULL, 8);
dummy = (unsigned char)(header&0xFF);
- curr_crc = crc_update(curr_crc, &dummy, NULL, 8);
+ curr_crc = mp3guessenc_crc_update(curr_crc, &dummy, NULL, 8);
- curr_crc = crc_update(curr_crc, chk_buffer, NULL, p1len-
+ curr_crc = mp3guessenc_crc_update(curr_crc, chk_buffer, NULL, p1len-
8*(sizeof(unsigned int)+sizeof(unsigned short)));
return (curr_crc==target);
@@ -464,7 +468,7 @@ unsigned short crc_reflected_update(unsigned short old_crc, unsigned char *data,
for (idx=0; idx<length; idx++)
{
value1 = reflect_byte(data[idx]);
- old_crc = crc_update(old_crc, &value1, NULL, 8);
+ old_crc = mp3guessenc_crc_update(old_crc, &value1, NULL, 8);
}
/* will I need some reflection here for non zero sums? NOT HERE THE CALLER WILL DO */
@@ -569,7 +573,7 @@ void scan_multichannel(streamInfo *si, unsigned char *buf, unsigned int start_po
//if (ext_bs_present) printf("n_ad_bytes=%d\n",extract_bits(buf, &pointer, 8));
/* begin crc computation */
pointer = start_pointer;
- crc_new = crc_update(0xffff, buf, &pointer, MC_HEADER_LENGTH+8*ext_bs_present);
+ crc_new = mp3guessenc_crc_update(0xffff, buf, &pointer, MC_HEADER_LENGTH+8*ext_bs_present);
pointer = start_pointer + MC_CENTER_POS + 8*ext_bs_present;
center = (unsigned char)extract_bits(buf, &pointer, 2);
@@ -858,7 +862,7 @@ void scan_multichannel(streamInfo *si, unsigned char *buf, unsigned int start_po
{
start_pointer += MC_TC_SBGR_SELECT_POS + 8*ext_bs_present;
- crc_new = crc_update(crc_new, buf, &start_pointer, pointer-start_pointer);
+ crc_new = mp3guessenc_crc_update(crc_new, buf, &start_pointer, pointer-start_pointer);
if (crc_new == crc_old)
@@ -1014,7 +1018,7 @@ off_t resync_mpeg(FILE *fp, off_t pos, unsigned char **storage, streamInfo *si,
{
head = (head<<8) | (unsigned int)mp3g_storage[idx+3];
- if (head_check(head, relaxed))
+ if (mp3guessenc_head_check(head, relaxed))
{
result = actual_pos+(off_t)idx;
break;
@@ -2762,6 +2766,7 @@ int mp3guessenc_timing_shift_case(const char *file)
printf("Error getting file attributes for `%s' (does it exist?), exiting.\n",file);
return EXIT_CODE_STAT_ERROR;
}
+/*
if (
!S_ISREG(fileStat.st_mode)
#ifndef _WIN32
@@ -2772,6 +2777,7 @@ int mp3guessenc_timing_shift_case(const char *file)
printf("File `%s' is not a regular file, unable to proceed, exiting.\n",file);
return EXIT_CODE_INVALID_FILE;
}
+*/
if (fileStat.st_size == 0)
{
printf("File `%s' is zero bytes long, nothing to scan, exiting.\n",file);
diff --git a/lib/mp3guessenc-0.27.4/tags.c b/lib/mp3guessenc-0.27.4/tags.c
index fb41272055..deff7ed57f 100644
--- a/lib/mp3guessenc-0.27.4/tags.c
+++ b/lib/mp3guessenc-0.27.4/tags.c
@@ -146,12 +146,12 @@ typedef struct mmtag_tail_infos_t {
unsigned char footer[MMTAG_FOOTER_SIZE];
} mmtag_tail_infos_t;
-#if defined(__WATCOMC__)
+//#if defined(__WATCOMC__)
/* Watcom compiler defaults alignment to 1 byte */
typedef struct mmtag_partial_infos_t {
-#else
-typedef struct __attribute__((packed)) mmtag_partial_infos_t {
-#endif
+//#else
+//typedef struct __attribute__((packed)) mmtag_partial_infos_t {
+//#endif
unsigned char empty[12];
unsigned char sync[MMTAG_VERSION_BLOCK_SUBSECTION_LENGTH];
unsigned char xing[MMTAG_VERSION_BLOCK_SUBSECTION_LENGTH];
diff --git a/lib/mp3guessenc-0.27.4/tags.h b/lib/mp3guessenc-0.27.4/tags.h
index 4bc609b707..b2841877cc 100644
--- a/lib/mp3guessenc-0.27.4/tags.h
+++ b/lib/mp3guessenc-0.27.4/tags.h
@@ -21,6 +21,10 @@
#ifndef TAGS_H
#define TAGS_H
+#if defined(__WINDOWS__)
+#include <sys/types.h>
+#endif
+
#define LAMETAGSIZE 36
#define LAME_STRING_LENGTH 48