summaryrefslogtreecommitdiffstats
path: root/gst/auparse/gstauparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/auparse/gstauparse.c')
-rw-r--r--gst/auparse/gstauparse.c37
1 files changed, 25 insertions, 12 deletions
diff --git a/gst/auparse/gstauparse.c b/gst/auparse/gstauparse.c
index 11b049bb..e3fb4a2f 100644
--- a/gst/auparse/gstauparse.c
+++ b/gst/auparse/gstauparse.c
@@ -193,22 +193,35 @@ gst_auparse_chain (GstPad *pad, GstBuffer *buf)
gulong *head = (gulong *)data;
/* normal format is big endian (au is a Sparc format) */
- if (GULONG_FROM_BE (*(head++)) == 0x2e736e64) {
+ if (GULONG_FROM_BE (*head) == 0x2e736e64) {
+ head++;
auparse->le = 0;
- auparse->offset = GULONG_FROM_BE (*(head++));
- auparse->size = GULONG_FROM_BE (*(head++));
- auparse->encoding = GULONG_FROM_BE (*(head++));
- auparse->frequency = GULONG_FROM_BE (*(head++));
- auparse->channels = GULONG_FROM_BE (*(head++));
+ auparse->offset = GULONG_FROM_BE (*head);
+ head++;
+ auparse->size = GULONG_FROM_BE (*head);
+ head++;
+ auparse->encoding = GULONG_FROM_BE (*head);
+ head++;
+ auparse->frequency = GULONG_FROM_BE (*head);
+ head++;
+ auparse->channels = GULONG_FROM_BE (*head);
+ head++;
/* but I wouldn't be surprised by a little endian version */
- } else if (GULONG_FROM_LE (*(head++)) == 0x2e736e64) {
+ } else if (GULONG_FROM_LE (head) == 0x2e736e64) {
auparse->le = 1;
- auparse->offset = GULONG_FROM_LE(*(head++));
- auparse->size = GULONG_FROM_LE(*(head++));
- auparse->encoding = GULONG_FROM_LE(*(head++));
- auparse->frequency = GULONG_FROM_LE(*(head++));
- auparse->channels = GULONG_FROM_LE(*(head++));
+ head++;
+ auparse->le = 0;
+ auparse->offset = GULONG_FROM_LE (*head);
+ head++;
+ auparse->size = GULONG_FROM_LE (*head);
+ head++;
+ auparse->encoding = GULONG_FROM_LE (*head);
+ head++;
+ auparse->frequency = GULONG_FROM_LE (*head);
+ head++;
+ auparse->channels = GULONG_FROM_LE (*head);
+ head++;
} else {
g_warning ("help, dunno what I'm looking at!\n");