	.file	"extr_directsound.c_Start.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"7.1"
.LC1:
	.string	"Mono"
.LC2:
	.string	"Stereo"
.LC3:
	.string	"Quad"
.LC4:
	.string	"5.1"
.LC5:
	.string	"Non-existant"
.LC6:
	.string	"Surround"
.LC7:
	.string	"Unknown"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC8:
	.string	"cannot set direct sound cooperative level"
	.section	.rodata.str1.1
.LC9:
	.string	"directx-audio-float32"
.LC10:
	.string	"directx-audio-speaker"
.LC11:
	.string	"spdif"
	.section	.rodata.str1.8
	.align 8
.LC12:
	.string	"using A/52 pass-through over S/PDIF"
	.section	.rodata.str1.1
.LC13:
	.string	"GetSpeakerConfig failed"
.LC14:
	.string	"Windows"
	.section	.rodata.str1.8
	.align 8
.LC15:
	.string	"%s speaker config: %s and stream has %d channels, using %d channels"
	.section	.rodata.str1.1
.LC16:
	.string	"VLC"
.LC17:
	.string	"%s speaker config: %s"
	.section	.rodata.str1.8
	.align 8
.LC18:
	.string	"cannot open directx audio device"
	.section	.rodata.str1.1
.LC19:
	.string	"Couldn't start eraser thread"
	.section	.rodata.str1.8
	.align 8
.LC20:
	.string	"(%s) isn't valid speaker setup option"
	.align 8
.LC21:
	.string	"Defaulting to Windows default speaker config"
	.text
	.p2align 4
	.type	Start, @function
Start:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rdi
	mov	rdi, rdx
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdx
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rsi
	sub	rsp, 88
	.cfi_def_cfa_offset 144
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 72[rsp], rax
	xor	eax, eax
	call	aout_FormatNbChannels@PLT
	test	eax, eax
	jne	.L2
.L71:
	mov	r13, QWORD PTR E_FAIL[rip]
.L1:
	mov	rax, QWORD PTR 72[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L73
	add	rsp, 88
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	rax, r13
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	mov	r13d, DWORD PTR DSSCL_EXCLUSIVE[rip]
	xor	eax, eax
	call	GetDesktopWindow@PLT
	mov	rdi, QWORD PTR 8[rbx]
	mov	esi, eax
	mov	edx, r13d
	call	IDirectSound_SetCooperativeLevel@PLT
	test	rax, rax
	jne	.L74
.L4:
	mov	rdi, rbp
	call	AOUT_FMT_HDMI@PLT
	test	rax, rax
	jne	.L71
	movdqu	xmm0, XMMWORD PTR 0[rbp]
	movdqu	xmm1, XMMWORD PTR 16[rbp]
	mov	rdi, r12
	lea	rsi, .LC9[rip]
	mov	rax, QWORD PTR DSERR_UNSUPPORTED[rip]
	mov	r13, QWORD PTR speaker_list[rip]
	mov	edx, DWORD PTR VLC_VAR_BOOL[rip]
	or	edx, DWORD PTR VLC_VAR_DOINHERIT[rip]
	movaps	XMMWORD PTR 32[rsp], xmm0
	movaps	XMMWORD PTR 48[rsp], xmm1
	mov	QWORD PTR [rsp], rax
	call	var_Create@PLT
	mov	rdi, r12
	lea	rsi, .LC10[rip]
	call	var_CreateGetString@PLT
	mov	rdi, QWORD PTR 0[r13]
	mov	r14, rax
	test	rdi, rdi
	je	.L9
	xor	r15d, r15d
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L75:
	mov	rdi, QWORD PTR 8[r13]
	add	r13, 8
	add	r15d, 1
	test	rdi, rdi
	je	.L9
.L8:
	call	strlen@PLT
	mov	rdi, QWORD PTR 0[r13]
	mov	rsi, r14
	mov	edx, eax
	call	strncmp@PLT
	test	eax, eax
	jne	.L75
	cmp	QWORD PTR 0[r13], 0
	je	.L9
.L41:
	mov	rdi, r14
	lea	r14, 32[rbx]
	lea	r13, 32[rsp]
	call	free@PLT
	mov	rdi, r14
	call	vlc_mutex_init@PLT
	lea	rax, 36[rbx]
	mov	rdi, rax
	mov	QWORD PTR 8[rsp], rax
	call	vlc_cond_init@PLT
	mov	rdi, r13
	call	AOUT_FMT_SPDIF@PLT
	test	rax, rax
	jne	.L76
.L10:
	mov	rax, QWORD PTR [rsp]
	cmp	QWORD PTR DS_OK[rip], rax
	je	.L13
	test	r15d, r15d
	je	.L77
	cmp	r15d, 5
	ja	.L46
	lea	rdx, .L31[rip]
	mov	r10d, r15d
	movsx	rax, DWORD PTR [rdx+r10*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L31:
	.long	.L46-.L31
	.long	.L35-.L31
	.long	.L34-.L31
	.long	.L33-.L31
	.long	.L32-.L31
	.long	.L30-.L31
	.text
.L46:
	lea	rcx, .LC5[rip]
.L29:
	lea	rdx, .LC16[rip]
	lea	rsi, .LC17[rip]
	mov	rdi, r12
	xor	eax, eax
	call	msg_Dbg@PLT
.L28:
	mov	rdi, r13
	call	aout_FormatPrepare@PLT
	mov	r8d, DWORD PTR 36[rsp]
	xor	r9d, r9d
	mov	rsi, rbx
	mov	rcx, QWORD PTR 40[rsp]
	lea	rdx, 48[rsp]
	mov	rdi, r12
	call	CreateDSBufferPCM@PLT
	cmp	QWORD PTR DS_OK[rip], rax
	mov	r13, rax
	jne	.L78
.L13:
	mov	ecx, DWORD PTR VLC_THREAD_PRIORITY_LOW[rip]
	mov	esi, DWORD PTR PlayedDataEraser[rip]
	lea	rdi, 64[rbx]
	mov	rdx, r12
	call	vlc_clone@PLT
	mov	edi, eax
	mov	r13d, eax
	call	unlikely@PLT
	test	rax, rax
	jne	.L79
	mov	eax, DWORD PTR AUDIO_CHANNEL_TYPE_BITMAP[rip]
	movdqa	xmm3, XMMWORD PTR 48[rsp]
	mov	DWORD PTR [rbx], 0
	mov	QWORD PTR 56[rbx], 0
	mov	r13, QWORD PTR DS_OK[rip]
	mov	DWORD PTR 32[rsp], eax
	movdqa	xmm2, XMMWORD PTR 32[rsp]
	mov	QWORD PTR 48[rbx], 0
	mov	QWORD PTR 40[rbx], 0
	movups	XMMWORD PTR 0[rbp], xmm2
	movups	XMMWORD PTR 16[rbp], xmm3
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L74:
	lea	rsi, .LC8[rip]
	mov	rdi, r12
	call	msg_Warn@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L76:
	lea	rsi, .LC11[rip]
	mov	rdi, r12
	call	var_InheritBool@PLT
	test	rax, rax
	jne	.L80
.L11:
	mov	rax, QWORD PTR [rsp]
	cmp	QWORD PTR DS_OK[rip], rax
	jne	.L12
	lea	rsi, .LC12[rip]
	mov	rdi, r12
	xor	eax, eax
	call	msg_Dbg@PLT
	mov	eax, DWORD PTR VLC_CODEC_SPDIFL[rip]
	mov	DWORD PTR 48[rsp], eax
	mov	eax, DWORD PTR AOUT_SPDIF_SIZE[rip]
	mov	DWORD PTR 56[rsp], eax
	mov	eax, DWORD PTR A52_FRAME_NB[rip]
	mov	DWORD PTR 52[rsp], eax
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L77:
	mov	rdi, r13
	call	aout_FormatNbChannels@PLT
	mov	rdi, QWORD PTR 8[rbx]
	lea	rsi, 28[rsp]
	mov	r15d, eax
	call	IDirectSound_GetSpeakerConfig@PLT
	mov	rdi, rax
	call	FAILED@PLT
	test	rax, rax
	jne	.L81
.L15:
	mov	edi, DWORD PTR 28[rsp]
	call	DSSPEAKER_CONFIG@PLT
	add	eax, -128
	cmp	eax, 7
	ja	.L16
	lea	rdx, .L18[rip]
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L18:
	.long	.L22-.L18
	.long	.L21-.L18
	.long	.L45-.L18
	.long	.L16-.L18
	.long	.L19-.L18
	.long	.L19-.L18
	.long	.L17-.L18
	.long	.L17-.L18
	.text
	.p2align 4,,10
	.p2align 3
.L78:
	lea	rsi, .LC18[rip]
	mov	rdi, r12
	xor	eax, eax
	call	msg_Err@PLT
.L36:
	mov	rdi, QWORD PTR 8[rsp]
	call	vlc_cond_destroy@PLT
	mov	rdi, r14
	call	vlc_mutex_destroy@PLT
	mov	rdi, QWORD PTR 24[rbx]
	test	rdi, rdi
	je	.L39
	call	IDirectSoundNotify_Release@PLT
	mov	QWORD PTR 24[rbx], 0
.L39:
	mov	rdi, QWORD PTR 16[rbx]
	test	rdi, rdi
	je	.L40
	call	IDirectSoundBuffer_Release@PLT
	mov	QWORD PTR 16[rbx], 0
.L40:
	mov	rdi, QWORD PTR 8[rbx]
	call	IDirectSound_Release@PLT
	mov	QWORD PTR 8[rbx], 0
	jmp	.L1
.L30:
	mov	rax, QWORD PTR AOUT_CHANS_7_1[rip]
	lea	rcx, .LC0[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L29
.L32:
	mov	rax, QWORD PTR AOUT_CHANS_5_1[rip]
	lea	rcx, .LC4[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L29
.L33:
	mov	rax, QWORD PTR AOUT_CHANS_4_0[rip]
	lea	rcx, .LC3[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L29
.L34:
	mov	rax, QWORD PTR AOUT_CHANS_2_0[rip]
	lea	rcx, .LC2[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L29
.L35:
	mov	rax, QWORD PTR AOUT_CHAN_CENTER[rip]
	lea	rcx, .LC1[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L12:
	mov	rdi, r14
	call	vlc_mutex_destroy@PLT
	mov	rdi, QWORD PTR 8[rsp]
	call	vlc_cond_destroy@PLT
	jmp	.L71
.L81:
	lea	rsi, .LC13[rip]
	mov	rdi, r12
	xor	eax, eax
	mov	DWORD PTR 28[rsp], 129
	call	msg_Dbg@PLT
	jmp	.L15
.L19:
	cmp	r15d, 8
	mov	r9d, 8
	mov	r8d, r15d
	mov	rdi, r12
	cmovle	r9d, r15d
	lea	rcx, .LC0[rip]
	xor	eax, eax
	lea	rdx, .LC14[rip]
	lea	rsi, .LC15[rip]
	mov	DWORD PTR [rsp], r9d
	call	msg_Dbg@PLT
	cmp	r15d, 7
	mov	r9d, DWORD PTR [rsp]
	jle	.L42
	mov	rax, QWORD PTR AOUT_CHANS_7_1[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L28
.L17:
	cmp	r15d, 6
	mov	r9d, 6
	mov	r8d, r15d
	mov	rdi, r12
	cmovle	r9d, r15d
	lea	rcx, .LC4[rip]
	lea	rdx, .LC14[rip]
	xor	eax, eax
	lea	rsi, .LC15[rip]
	mov	DWORD PTR [rsp], r9d
	call	msg_Dbg@PLT
	mov	r9d, DWORD PTR [rsp]
.L42:
	cmp	r9d, 5
	jle	.L43
	mov	rax, QWORD PTR AOUT_CHANS_5_1[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L28
.L21:
	lea	rcx, .LC2[rip]
	mov	r9d, 2
.L20:
	cmp	r15d, r9d
	mov	r8d, r15d
	lea	rdx, .LC14[rip]
	mov	rdi, r12
	cmovle	r9d, r15d
	lea	rsi, .LC15[rip]
	xor	eax, eax
	mov	DWORD PTR [rsp], r9d
	call	msg_Dbg@PLT
	mov	r9d, DWORD PTR [rsp]
.L43:
	sub	r9d, 4
	cmp	r9d, 1
	ja	.L82
	mov	rax, QWORD PTR AOUT_CHANS_4_0[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L28
.L22:
	lea	rcx, .LC6[rip]
	mov	r9d, 4
	jmp	.L20
.L45:
	lea	rcx, .LC3[rip]
	mov	r9d, 4
	jmp	.L20
.L16:
	lea	rcx, .LC7[rip]
	mov	r9d, 2
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L79:
	cmp	DWORD PTR ENOMEM[rip], r13d
	je	.L38
	lea	rsi, .LC19[rip]
	mov	rdi, r12
	xor	eax, eax
	call	msg_Err@PLT
.L38:
	mov	r13, QWORD PTR E_FAIL[rip]
	jmp	.L36
	.p2align 4,,10
	.p2align 3
.L9:
	mov	rdx, r14
	lea	rsi, .LC20[rip]
	mov	rdi, r12
	xor	eax, eax
	call	msg_Err@PLT
	mov	rdi, r12
	xor	eax, eax
	xor	r15d, r15d
	lea	rsi, .LC21[rip]
	call	msg_Err@PLT
	jmp	.L41
	.p2align 4,,10
	.p2align 3
.L80:
	mov	r9d, DWORD PTR 36[rsp]
	mov	rdi, r13
	mov	DWORD PTR [rsp], r9d
	call	aout_FormatNbChannels@PLT
	sub	rsp, 8
	.cfi_def_cfa_offset 152
	mov	rsi, rbx
	mov	rdi, r12
	push	0
	.cfi_def_cfa_offset 160
	mov	edx, DWORD PTR VLC_CODEC_SPDIFL[rip]
	mov	r8d, eax
	mov	r9d, DWORD PTR 16[rsp]
	mov	rcx, QWORD PTR 56[rsp]
	call	CreateDSBuffer@PLT
	mov	QWORD PTR 16[rsp], rax
	pop	rax
	.cfi_def_cfa_offset 152
	pop	rdx
	.cfi_def_cfa_offset 144
	jmp	.L11
.L82:
	mov	rax, QWORD PTR AOUT_CHANS_2_0[rip]
	mov	QWORD PTR 40[rsp], rax
	jmp	.L28
.L73:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	Start, .-Start
	.comm	speaker_list,8,8
	.comm	VLC_VAR_DOINHERIT,4,4
	.comm	VLC_VAR_BOOL,4,4
	.comm	VLC_THREAD_PRIORITY_LOW,4,4
	.comm	VLC_CODEC_SPDIFL,4,4
	.comm	PlayedDataEraser,4,4
	.comm	E_FAIL,8,8
	.comm	ENOMEM,4,4
	.comm	DS_OK,8,8
	.comm	DSSCL_EXCLUSIVE,4,4
	.comm	DSERR_UNSUPPORTED,8,8
	.comm	AUDIO_CHANNEL_TYPE_BITMAP,4,4
	.comm	AOUT_SPDIF_SIZE,4,4
	.comm	AOUT_CHAN_CENTER,8,8
	.comm	AOUT_CHANS_7_1,8,8
	.comm	AOUT_CHANS_5_1,8,8
	.comm	AOUT_CHANS_4_0,8,8
	.comm	AOUT_CHANS_2_0,8,8
	.comm	A52_FRAME_NB,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_directsound.c_Start.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"7.1\000"
	.align	2
.LC1:
	.ascii	"Mono\000"
	.align	2
.LC2:
	.ascii	"Stereo\000"
	.align	2
.LC3:
	.ascii	"Quad\000"
	.align	2
.LC4:
	.ascii	"5.1\000"
	.align	2
.LC5:
	.ascii	"Non-existant\000"
	.align	2
.LC6:
	.ascii	"cannot set direct sound cooperative level\000"
	.align	2
.LC7:
	.ascii	"directx-audio-float32\000"
	.align	2
.LC8:
	.ascii	"directx-audio-speaker\000"
	.align	2
.LC9:
	.ascii	"spdif\000"
	.align	2
.LC10:
	.ascii	"using A/52 pass-through over S/PDIF\000"
	.align	2
.LC11:
	.ascii	"GetSpeakerConfig failed\000"
	.align	2
.LC12:
	.ascii	"Windows\000"
	.align	2
.LC13:
	.ascii	"%s speaker config: %s and stream has %d channels, u"
	.ascii	"sing %d channels\000"
	.align	2
.LC14:
	.ascii	"VLC\000"
	.align	2
.LC15:
	.ascii	"%s speaker config: %s\000"
	.align	2
.LC16:
	.ascii	"cannot open directx audio device\000"
	.align	2
.LC17:
	.ascii	"Couldn't start eraser thread\000"
	.align	2
.LC18:
	.ascii	"(%s) isn't valid speaker setup option\000"
	.align	2
.LC19:
	.ascii	"Defaulting to Windows default speaker config\000"
	.align	2
.LC20:
	.ascii	"Unknown\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Start, %function
Start:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r3, .L76
	sub	sp, sp, #52
	mov	r8, r0
	mov	r0, r2
	mov	r6, r2
	mov	r7, r1
	ldr	r3, [r3]
	str	r3, [sp, #44]
	mov	r3,#0
	bl	aout_FormatNbChannels
	cmp	r0, #0
	bne	.L2
.L64:
	ldr	r3, .L76+4
	ldr	r4, [r3]
.L1:
	ldr	r3, .L76
	ldr	r2, [r3]
	ldr	r3, [sp, #44]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L66
	mov	r0, r4
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L2:
	ldr	r4, [r7, #4]
	bl	GetDesktopWindow
	ldr	r3, .L76+8
	mov	r1, r0
	ldr	r2, [r3]
	mov	r0, r4
	bl	IDirectSound_SetCooperativeLevel
	cmp	r0, #0
	bne	.L67
.L4:
	mov	r0, r6
	bl	AOUT_FMT_HDMI
	subs	r4, r0, #0
	bne	.L64
	mov	lr, r6
	add	ip, sp, #20
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	ldr	r2, .L76+12
	ldr	r3, .L76+16
	ldr	r5, [r2]
	ldr	r2, [r3]
	ldr	lr, .L76+20
	ldr	r3, .L76+24
	stm	ip, {r0, r1}
	orr	r2, r5, r2
	ldr	r1, .L76+28
	mov	r0, r8
	ldr	r9, [lr]
	ldr	r10, [r3]
	bl	var_Create
	mov	r0, r8
	ldr	r1, .L76+32
	bl	var_CreateGetString
	ldr	r5, [r9]
	mov	fp, r0
	cmp	r5, #0
	bne	.L8
	b	.L6
.L68:
	ldr	r5, [r9, #4]!
	add	r4, r4, #1
	cmp	r5, #0
	beq	.L6
.L8:
	mov	r0, r5
	bl	strlen
	mov	r1, fp
	mov	r2, r0
	mov	r0, r5
	bl	strncmp
	cmp	r0, #0
	bne	.L68
.L7:
	mov	r0, fp
	add	r9, r7, #16
	bl	free
	add	fp, r7, #20
	mov	r0, r9
	bl	vlc_mutex_init
	mov	r0, fp
	bl	vlc_cond_init
	add	r0, sp, #20
	bl	AOUT_FMT_SPDIF
	cmp	r0, #0
	bne	.L61
	ldr	r5, .L76+36
.L9:
	ldr	r3, [r5]
	cmp	r3, r10
	beq	.L12
	cmp	r4, #0
	beq	.L69
	sub	r4, r4, #1
	cmp	r4, #4
	ldrls	pc, [pc, r4, asl #2]
	b	.L36
.L24:
	.word	.L28
	.word	.L27
	.word	.L26
	.word	.L25
	.word	.L23
.L61:
	mov	r0, r8
	ldr	r1, .L76+40
	bl	var_InheritBool
	cmp	r0, #0
	bne	.L70
.L10:
	ldr	r5, .L76+36
	ldr	r3, [r5]
	cmp	r3, r10
	bne	.L11
	ldr	r1, .L76+44
	mov	r0, r8
	bl	msg_Dbg
	ldr	r1, .L76+48
	ldr	r2, .L76+52
	ldr	r3, .L76+56
	ldr	r1, [r1]
	ldr	r2, [r2]
	ldr	r3, [r3]
	str	r1, [sp, #32]
	str	r2, [sp, #40]
	str	r3, [sp, #36]
	b	.L9
.L67:
	mov	r0, r8
	ldr	r1, .L76+60
	bl	msg_Warn
	b	.L4
.L12:
	ldr	r2, .L76+64
	ldr	r3, .L76+68
	ldr	r1, [r2]
	ldr	r3, [r3]
	mov	r2, r8
	add	r0, r7, #36
	bl	vlc_clone
	mov	r4, r0
	bl	unlikely
	subs	ip, r0, #0
	bne	.L71
	ldr	r3, .L76+72
	add	lr, sp, #20
	ldr	r3, [r3]
	ldr	r4, [r5]
	str	r3, [sp, #20]
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	r6!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	str	ip, [r7, #32]
	stm	r6, {r0, r1}
	str	ip, [r7, #28]
	str	ip, [r7, #24]
	str	ip, [r7]
	b	.L1
.L69:
	add	r0, sp, #20
	bl	aout_FormatNbChannels
	add	r1, sp, #16
	mov	r10, r0
	ldr	r0, [r7, #4]
	bl	IDirectSound_GetSpeakerConfig
	bl	FAILED
	cmp	r0, #0
	bne	.L72
.L14:
	ldr	r0, [sp, #16]
	bl	DSSPEAKER_CONFIG
	sub	r0, r0, #128
	cmp	r0, #7
	bls	.L73
	cmp	r10, #2
	movlt	r4, r10
	movge	r4, #2
	mov	r0, r8
	ldr	r3, .L76+76
	ldr	r2, .L76+80
	ldr	r1, .L76+84
	str	r10, [sp]
	str	r4, [sp, #4]
	bl	msg_Dbg
.L34:
	sub	r4, r4, #4
	cmp	r4, #1
	bhi	.L74
	ldr	r3, .L76+88
	ldr	r3, [r3]
	str	r3, [sp, #28]
	b	.L21
.L23:
	ldr	r2, .L76+92
	ldr	r3, .L76+96
	ldr	r2, [r2]
	str	r2, [sp, #28]
.L22:
	mov	r0, r8
	ldr	r2, .L76+100
	ldr	r1, .L76+104
	bl	msg_Dbg
.L21:
	add	r0, sp, #20
	bl	aout_FormatPrepare
	mov	r2, #0
	ldr	r3, [sp, #24]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r1, r7
	ldr	r3, [sp, #28]
	mov	r0, r8
	add	r2, sp, #32
	bl	CreateDSBufferPCM
	ldr	r3, [r5]
	mov	r4, r0
	cmp	r3, r0
	beq	.L12
	mov	r0, r8
	ldr	r1, .L76+108
	bl	msg_Err
.L29:
	mov	r0, fp
	bl	vlc_cond_destroy
	mov	r0, r9
	bl	vlc_mutex_destroy
	ldr	r0, [r7, #12]
	cmp	r0, #0
	beq	.L32
	bl	IDirectSoundNotify_Release
	mov	r3, #0
	str	r3, [r7, #12]
.L32:
	ldr	r0, [r7, #8]
	cmp	r0, #0
	beq	.L33
	bl	IDirectSoundBuffer_Release
	mov	r3, #0
	str	r3, [r7, #8]
.L33:
	ldr	r0, [r7, #4]
	bl	IDirectSound_Release
	mov	r3, #0
	str	r3, [r7, #4]
	b	.L1
.L25:
	ldr	r2, .L76+112
	ldr	r3, .L76+116
	ldr	r2, [r2]
	str	r2, [sp, #28]
	b	.L22
.L26:
	ldr	r2, .L76+88
	ldr	r3, .L76+120
	ldr	r2, [r2]
	str	r2, [sp, #28]
	b	.L22
.L27:
	ldr	r2, .L76+124
	ldr	r3, .L76+128
	ldr	r2, [r2]
	str	r2, [sp, #28]
	b	.L22
.L28:
	ldr	r2, .L76+132
	ldr	r3, .L76+136
	ldr	r2, [r2]
	str	r2, [sp, #28]
	b	.L22
.L11:
	mov	r0, r9
	bl	vlc_mutex_destroy
	mov	r0, fp
	bl	vlc_cond_destroy
	b	.L64
.L73:
	ldr	r3, .L76+140
	ldr	r2, .L76+80
	ldr	r4, [r3, r0, lsl #2]
	add	r3, r3, r0, lsl #2
	cmp	r4, r10
	movge	r4, r10
	mov	r0, r8
	ldr	r3, [r3, #32]
	ldr	r1, .L76+84
	str	r10, [sp]
	str	r4, [sp, #4]
	bl	msg_Dbg
	cmp	r4, #8
	bne	.L75
	ldr	r3, .L76+92
	ldr	r3, [r3]
	str	r3, [sp, #28]
	b	.L21
.L72:
	mov	r3, #129
	mov	r0, r8
	ldr	r1, .L76+144
	str	r3, [sp, #16]
	bl	msg_Dbg
	b	.L14
.L71:
	ldr	r3, .L76+148
	ldr	r3, [r3]
	cmp	r3, r4
	beq	.L31
	mov	r0, r8
	ldr	r1, .L76+152
	bl	msg_Err
.L31:
	ldr	r3, .L76+4
	ldr	r4, [r3]
	b	.L29
.L6:
	mov	r2, fp
	ldr	r1, .L76+156
	mov	r0, r8
	bl	msg_Err
	mov	r0, r8
	ldr	r1, .L76+160
	bl	msg_Err
	mov	r4, #0
	b	.L7
.L75:
	cmp	r4, #5
	ble	.L34
	ldr	r3, .L76+112
	ldr	r3, [r3]
	str	r3, [sp, #28]
	b	.L21
.L70:
	ldr	r3, .L76+48
	add	r0, sp, #20
	ldr	r10, [r3]
	ldr	r5, [sp, #28]
	bl	aout_FormatNbChannels
	mov	ip, #0
	ldr	r1, [sp, #24]
	mov	r2, r10
	stm	sp, {r0, r1, ip}
	mov	r3, r5
	mov	r1, r7
	mov	r0, r8
	bl	CreateDSBuffer
	mov	r10, r0
	b	.L10
.L74:
	ldr	r3, .L76+124
	ldr	r3, [r3]
	str	r3, [sp, #28]
	b	.L21
.L66:
	bl	__stack_chk_fail
.L36:
	ldr	r3, .L76+164
	b	.L22
.L77:
	.align	2
.L76:
	.word	.LC21
	.word	E_FAIL
	.word	DSSCL_EXCLUSIVE
	.word	VLC_VAR_BOOL
	.word	VLC_VAR_DOINHERIT
	.word	speaker_list
	.word	DSERR_UNSUPPORTED
	.word	.LC7
	.word	.LC8
	.word	DS_OK
	.word	.LC9
	.word	.LC10
	.word	VLC_CODEC_SPDIFL
	.word	AOUT_SPDIF_SIZE
	.word	A52_FRAME_NB
	.word	.LC6
	.word	PlayedDataEraser
	.word	VLC_THREAD_PRIORITY_LOW
	.word	AUDIO_CHANNEL_TYPE_BITMAP
	.word	.LC20
	.word	.LC12
	.word	.LC13
	.word	AOUT_CHANS_4_0
	.word	AOUT_CHANS_7_1
	.word	.LC0
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	AOUT_CHANS_5_1
	.word	.LC4
	.word	.LC3
	.word	AOUT_CHANS_2_0
	.word	.LC2
	.word	AOUT_CHAN_CENTER
	.word	.LC1
	.word	.LANCHOR0
	.word	.LC11
	.word	ENOMEM
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC5
	.size	Start, .-Start
	.section	.rodata.str1.4
	.align	2
.LC22:
	.ascii	"Surround\000"
	.comm	speaker_list,4,4
	.comm	VLC_VAR_DOINHERIT,4,4
	.comm	VLC_VAR_BOOL,4,4
	.comm	VLC_THREAD_PRIORITY_LOW,4,4
	.comm	VLC_CODEC_SPDIFL,4,4
	.comm	PlayedDataEraser,4,4
	.comm	E_FAIL,4,4
	.comm	ENOMEM,4,4
	.comm	DS_OK,4,4
	.comm	DSSCL_EXCLUSIVE,4,4
	.comm	DSERR_UNSUPPORTED,4,4
	.comm	AUDIO_CHANNEL_TYPE_BITMAP,4,4
	.comm	AOUT_SPDIF_SIZE,4,4
	.comm	AOUT_CHAN_CENTER,4,4
	.comm	AOUT_CHANS_7_1,4,4
	.comm	AOUT_CHANS_5_1,4,4
	.comm	AOUT_CHANS_4_0,4,4
	.comm	AOUT_CHANS_2_0,4,4
	.comm	A52_FRAME_NB,4,4
	.section	.rodata
	.align	2
	.set	.LANCHOR0,. + 0
	.type	CSWTCH.25, %object
	.size	CSWTCH.25, 32
CSWTCH.25:
	.word	4
	.word	2
	.word	4
	.word	2
	.word	8
	.word	8
	.word	6
	.word	6
	.type	CSWTCH.26, %object
	.size	CSWTCH.26, 32
CSWTCH.26:
	.word	.LC22
	.word	.LC2
	.word	.LC3
	.word	.LC20
	.word	.LC0
	.word	.LC0
	.word	.LC4
	.word	.LC4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
