diff options
author | nia <nia@pkgsrc.org> | 2020-04-23 15:24:00 +0000 |
---|---|---|
committer | nia <nia@pkgsrc.org> | 2020-04-23 15:24:00 +0000 |
commit | f2f242ddcf5e74e63890c50aa23aa1cfb5136474 (patch) | |
tree | 99eedfc697b98a83fe803cf0ff6b7c36dc033a23 /net/libdlna | |
parent | fbf9b663665bb3c9523d422c9b830488a8d3ab42 (diff) | |
download | pkgsrc-f2f242ddcf5e74e63890c50aa23aa1cfb5136474.tar.gz |
libdlna: Switch to ffmpeg4
Diffstat (limited to 'net/libdlna')
19 files changed, 341 insertions, 4 deletions
diff --git a/net/libdlna/Makefile b/net/libdlna/Makefile index 00b1bcb8651..d28b989d4af 100644 --- a/net/libdlna/Makefile +++ b/net/libdlna/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.16 2020/01/26 17:31:50 rillig Exp $ +# $NetBSD: Makefile,v 1.17 2020/04/23 15:24:00 nia Exp $ DISTNAME= libdlna-0.2.4 -PKGREVISION= 8 +PKGREVISION= 9 CATEGORIES= net MASTER_SITES= http://libdlna.geexbox.org/releases/ EXTRACT_SUFX= .tar.bz2 @@ -28,5 +28,5 @@ SUBST_STAGE.config= pre-configure SUBST_FILES.config= configure SUBST_SED.config= -e 's,/usr/bin/install,${INSTALL},' -.include "../../multimedia/ffmpeg1/buildlink3.mk" +.include "../../multimedia/ffmpeg4/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/net/libdlna/distinfo b/net/libdlna/distinfo index d6be420df06..03e259f3870 100644 --- a/net/libdlna/distinfo +++ b/net/libdlna/distinfo @@ -1,7 +1,24 @@ -$NetBSD: distinfo,v 1.3 2015/11/04 00:35:08 agc Exp $ +$NetBSD: distinfo,v 1.4 2020/04/23 15:24:00 nia Exp $ SHA1 (libdlna-0.2.4.tar.bz2) = 5e86f4443eeb9e7194c808301efeb78611a9e8b3 RMD160 (libdlna-0.2.4.tar.bz2) = 6083bdcb7b5bc048f5b81373ef452145ba913861 SHA512 (libdlna-0.2.4.tar.bz2) = 2d6185e0d7f9d449fe48e5e6c7331a46fb795794c6b8f229e730e47ae519e28d012a79227c2bb43d3a62442560e0d65c8a84ef48e714a99848b854495d6bf7e6 Size (libdlna-0.2.4.tar.bz2) = 37579 bytes SHA1 (patch-af) = b34c260bf86062d268a8f113df17e285ed6ecdb7 +SHA1 (patch-src_audio__aac.c) = c44296b8da285f3c041e5c199983d2dd1b5a4394 +SHA1 (patch-src_audio__ac3.c) = fb54bddd790d1ab8341f65e457448775cad3a9ab +SHA1 (patch-src_audio__amr.c) = 918b1b2fbfb4120e7b0942e50df63c8b589cff69 +SHA1 (patch-src_audio__atrac3.c) = aa6ad2cbc2189a204b883324f9b92173dfd6a868 +SHA1 (patch-src_audio__g726.c) = 938efd2964b78bb041695b6d1a626fb7a536348e +SHA1 (patch-src_audio__lpcm.c) = f372362128418caab966e619c793b0cf59934fc2 +SHA1 (patch-src_audio__mp2.c) = 3daaa90ace01b34436b80d3c39acf065e48a14ac +SHA1 (patch-src_audio__mp3.c) = 5945d9e8b742b51dc4dc61c9a31eeb634e3b565a +SHA1 (patch-src_audio__wma.c) = a94755a9d1e201415a45b1d85f531868c7d004da +SHA1 (patch-src_av__mpeg1.c) = e47cc6113895a8f7fc6ab1e90d066514894ef659 +SHA1 (patch-src_av__mpeg2.c) = 73397901c6931a761669d2f76d32a0b99f92f2e6 +SHA1 (patch-src_av__mpeg4__part10.c) = 4269b7f5fffc10fe591c8f4db191a6c101a371f0 +SHA1 (patch-src_av__mpeg4__part2.c) = b47f21ce41f900981b667caf2032126a3fe21507 +SHA1 (patch-src_av__wmv9.c) = 19fe459f154ed65f2dd67b2a681392ff201c5bc0 +SHA1 (patch-src_image__jpeg.c) = c378670db980613ea5c23909febb8b640c08a1e4 +SHA1 (patch-src_image__png.c) = d82725b1c86ef8dac18e86ca1689e6c2bc98336a +SHA1 (patch-src_profiles.c) = 77ad202651d164dc58f38a6b486c4069eadc56f4 diff --git a/net/libdlna/patches/patch-src_audio__aac.c b/net/libdlna/patches/patch-src_audio__aac.c new file mode 100644 index 00000000000..a5626869ec4 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__aac.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__aac.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_aac.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_aac.c +@@ -311,7 +311,7 @@ audio_profile_guess_aac_priv (AVCodecCon + return AUDIO_PROFILE_INVALID; + + /* check for AAC variants codec */ +- if (ac->codec_id != CODEC_ID_AAC) ++ if (ac->codec_id != AV_CODEC_ID_AAC) + return AUDIO_PROFILE_INVALID; + + switch (type) diff --git a/net/libdlna/patches/patch-src_audio__ac3.c b/net/libdlna/patches/patch-src_audio__ac3.c new file mode 100644 index 00000000000..aeb5aa8018c --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__ac3.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__ac3.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_ac3.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_ac3.c +@@ -39,7 +39,7 @@ audio_profile_guess_ac3 (AVCodecContext + return AUDIO_PROFILE_INVALID; + + /* check for AC3 codec */ +- if (ac->codec_id != CODEC_ID_AC3) ++ if (ac->codec_id != AV_CODEC_ID_AC3) + return AUDIO_PROFILE_INVALID; + + /* supported channels: 1/0, 2/0, 3/0, 2/1, 3/1, 2/2, 3/2 */ diff --git a/net/libdlna/patches/patch-src_audio__amr.c b/net/libdlna/patches/patch-src_audio__amr.c new file mode 100644 index 00000000000..b0abb59a10f --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__amr.c @@ -0,0 +1,24 @@ +$NetBSD: patch-src_audio__amr.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_amr.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_amr.c +@@ -53,7 +53,7 @@ audio_is_valid_amr (AVCodecContext *ac) + if (!ac) + return 0; + +- if (ac->codec_id != CODEC_ID_AMR_NB) ++ if (ac->codec_id != AV_CODEC_ID_AMR_NB) + return 0; + + /* only mono is supported */ +@@ -89,7 +89,7 @@ audio_is_valid_amr_wb (AVCodecContext *a + if (!ac) + return 0; + +- if (ac->codec_id != CODEC_ID_AMR_WB) ++ if (ac->codec_id != AV_CODEC_ID_AMR_WB) + return 0; + + /* valid sampling rates: 8, 16, 24, 32 and 48 kHz */ diff --git a/net/libdlna/patches/patch-src_audio__atrac3.c b/net/libdlna/patches/patch-src_audio__atrac3.c new file mode 100644 index 00000000000..06bf9f0d107 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__atrac3.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__atrac3.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_atrac3.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_atrac3.c +@@ -39,7 +39,7 @@ audio_profile_guess_atrac (AVCodecContex + return AUDIO_PROFILE_INVALID; + + #if LIBAVCODEC_VERSION_INT >= ((51<<16)+(40<<8)+4) +- if (ac->codec_id == CODEC_ID_ATRAC3) ++ if (ac->codec_id == AV_CODEC_ID_ATRAC3) + return AUDIO_PROFILE_ATRAC; + #endif + diff --git a/net/libdlna/patches/patch-src_audio__g726.c b/net/libdlna/patches/patch-src_audio__g726.c new file mode 100644 index 00000000000..3950b364906 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__g726.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__g726.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_g726.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_g726.c +@@ -31,7 +31,7 @@ audio_profile_guess_g726 (AVCodecContext + if (!ac) + return AUDIO_PROFILE_INVALID; + +- if (ac->codec_id != CODEC_ID_ADPCM_G726) ++ if (ac->codec_id != AV_CODEC_ID_ADPCM_G726) + return AUDIO_PROFILE_INVALID; + + if (ac->channels != 1) diff --git a/net/libdlna/patches/patch-src_audio__lpcm.c b/net/libdlna/patches/patch-src_audio__lpcm.c new file mode 100644 index 00000000000..d9911181436 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__lpcm.c @@ -0,0 +1,17 @@ +$NetBSD: patch-src_audio__lpcm.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_lpcm.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_lpcm.c +@@ -45,8 +45,8 @@ audio_profile_guess_lpcm (AVCodecContext + return AUDIO_PROFILE_INVALID; + + /* check for 16-bit signed network-endian PCM codec */ +- if (ac->codec_id != CODEC_ID_PCM_S16BE && +- ac->codec_id != CODEC_ID_PCM_S16LE) ++ if (ac->codec_id != AV_CODEC_ID_PCM_S16BE && ++ ac->codec_id != AV_CODEC_ID_PCM_S16LE) + return AUDIO_PROFILE_INVALID; + + /* supported channels: mono or stereo */ diff --git a/net/libdlna/patches/patch-src_audio__mp2.c b/net/libdlna/patches/patch-src_audio__mp2.c new file mode 100644 index 00000000000..e9395566c37 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__mp2.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__mp2.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_mp2.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_mp2.c +@@ -31,7 +31,7 @@ audio_profile_guess_mp2 (AVCodecContext + if (!ac) + return AUDIO_PROFILE_INVALID; + +- if (ac->codec_id != CODEC_ID_MP2) ++ if (ac->codec_id != AV_CODEC_ID_MP2) + return AUDIO_PROFILE_INVALID; + + if (ac->channels > 5) diff --git a/net/libdlna/patches/patch-src_audio__mp3.c b/net/libdlna/patches/patch-src_audio__mp3.c new file mode 100644 index 00000000000..dce76a8fbc4 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__mp3.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__mp3.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_mp3.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_mp3.c +@@ -47,7 +47,7 @@ audio_is_valid_mp3_common (AVCodecContex + return 0; + + /* check for MP3 codec */ +- if (ac->codec_id != CODEC_ID_MP3) ++ if (ac->codec_id != AV_CODEC_ID_MP3) + return 0; + + /* only mono and stereo are supported */ diff --git a/net/libdlna/patches/patch-src_audio__wma.c b/net/libdlna/patches/patch-src_audio__wma.c new file mode 100644 index 00000000000..270806c2383 --- /dev/null +++ b/net/libdlna/patches/patch-src_audio__wma.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_audio__wma.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/audio_wma.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/audio_wma.c +@@ -55,7 +55,7 @@ audio_profile_guess_wma (AVCodecContext + return ap; + + /* check for WMA codec */ +- if (ac->codec_id != CODEC_ID_WMAV1 && ac->codec_id != CODEC_ID_WMAV2) ++ if (ac->codec_id != AV_CODEC_ID_WMAV1 && ac->codec_id != AV_CODEC_ID_WMAV2) + return ap; + + if (ac->sample_rate <= 48000) diff --git a/net/libdlna/patches/patch-src_av__mpeg1.c b/net/libdlna/patches/patch-src_av__mpeg1.c new file mode 100644 index 00000000000..f019f1e84c3 --- /dev/null +++ b/net/libdlna/patches/patch-src_av__mpeg1.c @@ -0,0 +1,24 @@ +$NetBSD: patch-src_av__mpeg1.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/av_mpeg1.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/av_mpeg1.c +@@ -42,7 +42,7 @@ probe_mpeg1 (AVFormatContext *ctx dlna_u + return NULL; + + /* check for MPEG-1 video codec */ +- if (codecs->vc->codec_id != CODEC_ID_MPEG1VIDEO) ++ if (codecs->vc->codec_id != AV_CODEC_ID_MPEG1VIDEO) + return NULL; + + /* video bitrate must be CBR at 1,151,929.1 bps */ +@@ -72,7 +72,7 @@ probe_mpeg1 (AVFormatContext *ctx dlna_u + return NULL; + + /* check for MPEG-1 Layer-2 audio codec */ +- if (codecs->ac->codec_id != CODEC_ID_MP2) ++ if (codecs->ac->codec_id != AV_CODEC_ID_MP2) + return NULL; + + /* supported channels: stereo only */ diff --git a/net/libdlna/patches/patch-src_av__mpeg2.c b/net/libdlna/patches/patch-src_av__mpeg2.c new file mode 100644 index 00000000000..49e8ffef70a --- /dev/null +++ b/net/libdlna/patches/patch-src_av__mpeg2.c @@ -0,0 +1,33 @@ +$NetBSD: patch-src_av__mpeg2.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/av_mpeg2.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/av_mpeg2.c +@@ -453,7 +453,7 @@ probe_mpeg_ts (AVFormatContext *ctx, + int i; + + /* check for MPEG-2 MP@LL profile */ +- if (codecs->ac->codec_id == CODEC_ID_AAC) ++ if (codecs->ac->codec_id == AV_CODEC_ID_AAC) + { + /* 352x288 only */ + if (codecs->vc->width != 352 && codecs->vc->height != 288) +@@ -535,7 +535,7 @@ probe_mpeg_ts (AVFormatContext *ctx, + if (ctx->bit_rate > 19392700) + return NULL; + +- if (codecs->ac->codec_id != CODEC_ID_AC3) ++ if (codecs->ac->codec_id != AV_CODEC_ID_AC3) + return NULL; + + /* 48 KHz only */ +@@ -615,7 +615,7 @@ probe_mpeg2 (AVFormatContext *ctx, + return NULL; + + /* check for MPEG-2 video codec */ +- if (codecs->vc->codec_id != CODEC_ID_MPEG2VIDEO) ++ if (codecs->vc->codec_id != AV_CODEC_ID_MPEG2VIDEO) + return NULL; + + switch (st) diff --git a/net/libdlna/patches/patch-src_av__mpeg4__part10.c b/net/libdlna/patches/patch-src_av__mpeg4__part10.c new file mode 100644 index 00000000000..b91da347a99 --- /dev/null +++ b/net/libdlna/patches/patch-src_av__mpeg4__part10.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_av__mpeg4__part10.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/av_mpeg4_part10.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/av_mpeg4_part10.c +@@ -1221,7 +1221,7 @@ probe_avc (AVFormatContext *ctx, + return NULL; + + /* check for H.264/AVC codec */ +- if (codecs->vc->codec_id != CODEC_ID_H264) ++ if (codecs->vc->codec_id != AV_CODEC_ID_H264) + return NULL; + + /* check for a supported container */ diff --git a/net/libdlna/patches/patch-src_av__mpeg4__part2.c b/net/libdlna/patches/patch-src_av__mpeg4__part2.c new file mode 100644 index 00000000000..af08f7ff860 --- /dev/null +++ b/net/libdlna/patches/patch-src_av__mpeg4__part2.c @@ -0,0 +1,27 @@ +$NetBSD: patch-src_av__mpeg4__part2.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/av_mpeg4_part2.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/av_mpeg4_part2.c +@@ -42,13 +42,13 @@ static const struct { + int codec_id; + mpeg4_vcodec_type_t type; + } avf_vcodec_mapping[] = { +- { CODEC_ID_H263, MPEG4_VCODEC_H263 }, +- { CODEC_ID_H263I, MPEG4_VCODEC_H263 }, +- { CODEC_ID_H263P, MPEG4_VCODEC_H263 }, +- { CODEC_ID_MPEG4, MPEG4_VCODEC_P2 }, +- { CODEC_ID_MSMPEG4V1, MPEG4_VCODEC_P2 }, +- { CODEC_ID_MSMPEG4V2, MPEG4_VCODEC_P2 }, +- { CODEC_ID_MSMPEG4V3, MPEG4_VCODEC_P2 }, ++ { AV_CODEC_ID_H263, MPEG4_VCODEC_H263 }, ++ { AV_CODEC_ID_H263I, MPEG4_VCODEC_H263 }, ++ { AV_CODEC_ID_H263P, MPEG4_VCODEC_H263 }, ++ { AV_CODEC_ID_MPEG4, MPEG4_VCODEC_P2 }, ++ { AV_CODEC_ID_MSMPEG4V1, MPEG4_VCODEC_P2 }, ++ { AV_CODEC_ID_MSMPEG4V2, MPEG4_VCODEC_P2 }, ++ { AV_CODEC_ID_MSMPEG4V3, MPEG4_VCODEC_P2 }, + { -1, 0 } + }; + diff --git a/net/libdlna/patches/patch-src_av__wmv9.c b/net/libdlna/patches/patch-src_av__wmv9.c new file mode 100644 index 00000000000..bd8db515df5 --- /dev/null +++ b/net/libdlna/patches/patch-src_av__wmv9.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_av__wmv9.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/av_wmv9.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/av_wmv9.c +@@ -245,7 +245,7 @@ probe_wmv9 (AVFormatContext *ctx dlna_un + return NULL; + + /* check for WMV3 (Simple and Main profiles) video codec */ +- if (codecs->vc->codec_id != CODEC_ID_WMV3) ++ if (codecs->vc->codec_id != AV_CODEC_ID_WMV3) + return NULL; + + /* get video profile */ diff --git a/net/libdlna/patches/patch-src_image__jpeg.c b/net/libdlna/patches/patch-src_image__jpeg.c new file mode 100644 index 00000000000..b47e3450c42 --- /dev/null +++ b/net/libdlna/patches/patch-src_image__jpeg.c @@ -0,0 +1,21 @@ +$NetBSD: patch-src_image__jpeg.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/image_jpeg.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/image_jpeg.c +@@ -92,10 +92,10 @@ probe_jpeg (AVFormatContext *ctx, + return NULL; + + /* check for JPEG compliant codec */ +- if (codecs->vc->codec_id != CODEC_ID_MJPEG && +- codecs->vc->codec_id != CODEC_ID_MJPEGB && +- codecs->vc->codec_id != CODEC_ID_LJPEG && +- codecs->vc->codec_id != CODEC_ID_JPEGLS) ++ if (codecs->vc->codec_id != AV_CODEC_ID_MJPEG && ++ codecs->vc->codec_id != AV_CODEC_ID_MJPEGB && ++ codecs->vc->codec_id != AV_CODEC_ID_LJPEG && ++ codecs->vc->codec_id != AV_CODEC_ID_JPEGLS) + return NULL; + + for (i = 0; jpeg_profiles_mapping[i].profile; i++) diff --git a/net/libdlna/patches/patch-src_image__png.c b/net/libdlna/patches/patch-src_image__png.c new file mode 100644 index 00000000000..e04ed3d5b03 --- /dev/null +++ b/net/libdlna/patches/patch-src_image__png.c @@ -0,0 +1,15 @@ +$NetBSD: patch-src_image__png.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/image_png.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/image_png.c +@@ -76,7 +76,7 @@ probe_png (AVFormatContext *ctx, + return NULL; + + /* check for PNG compliant codec */ +- if (codecs->vc->codec_id != CODEC_ID_PNG) ++ if (codecs->vc->codec_id != AV_CODEC_ID_PNG) + return NULL; + + for (i = 0; png_profiles_mapping[i].profile; i++) diff --git a/net/libdlna/patches/patch-src_profiles.c b/net/libdlna/patches/patch-src_profiles.c new file mode 100644 index 00000000000..5092c47b12f --- /dev/null +++ b/net/libdlna/patches/patch-src_profiles.c @@ -0,0 +1,24 @@ +$NetBSD: patch-src_profiles.c,v 1.1 2020/04/23 15:24:00 nia Exp $ + +Fix build with newer ffmpeg. + +--- src/profiles.c.orig 2012-02-26 19:34:00.000000000 +0000 ++++ src/profiles.c +@@ -287,7 +287,7 @@ dlna_guess_media_profile (dlna_t *dlna, + return NULL; + } + +- if (av_find_stream_info (ctx) < 0) ++ if (avformat_find_stream_info (ctx, NULL) < 0) + { + if (dlna->verbosity) + fprintf (stderr, "can't find stream info\n"); +@@ -334,7 +334,7 @@ dlna_guess_media_profile (dlna_t *dlna, + p = p->next; + } + +- av_close_input_file (ctx); ++ avformat_close_input (&ctx); + free (codecs); + return profile; + } |